مهرداد
4 سال پیش توسط مهرداد مطرح شد
5 پاسخ

Breadcrumbs داینامیک در لاراول

سلام دوستان من چطوری میتونم Breadcrumbs رو توی وبسایت داینامیک در بیارم آیا خودم کد نویسیش باید کنم یا این پکیج رو تایید میکنید؟
این لینک

میخام اینا بصورت داینامیک در بیاد

        <div class="breadcrumb">
            <ul>
                <li><a href="/" title="خانه">خانه</a></li>
                <li><a href="" title="برنامه نویسی">برنامه نویسی</a></li>
                <li><a href="" title="وب">وب</a></li>
                <li><a href="" title="ری اکت جی اس چیست ؟">ری اکت جی اس چیست ؟ </a></li>
            </ul>
        </div>

ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

با توجه به اینکه چیز خیلی پیچیده ای نیست پیشنهاد میکنم خودتون پیاده سازیش کنید. دستتون هم شاید اینطوری بازتر باشه.

ضمنا پکیجی که اشاره کردید، بااینکه جزو معروف ترین پکیج های breadcrumbs لاراول هست ولی همون طوری که مشخصه مدت زیادیه که آرشیو شده و دیگه پشتیبانی نمیشه ازش. معلوم نیست سازگاریش با نسخه های جدید فعلی و یا آینده به چه صورت باشه و یکم ریسکش بالاست.


مهرداد
@mehrdadroshanraee69 4 سال پیش مطرح شد
0

@mhyeganeh
محمد جان متاسفانه چون تازه کارم و تجربمم کمه اصلا هیچ اطلاعی از نحوه پیاده سازیش ندارم و اینکه هرچی اموزش هم دیدم اینو نگفتن


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش آپدیت شد
0

کارو تو ذهنتون بشکونید به تکه های کوچیک پازل و سعی کنید دونه دونه حلش کنید. هر کس ممکنه یک ساختار و منطق خاصی از پروژه اش تو ذهنش باشه.

ولی مثلا برای ایجاد breadcrumbs برای صفحه پست های وبلاگتون اگر چنین چیزی بخواید:
خانه > وبلاگ > برنامه نویسی وب > ری اکت جی اس چیست

میبینید که دو تای اول یعنی خانه و وبلاگ که همیشه در همه پست ها ثابت هستند. پس میمونه دو تای بعدی که اولی رو category پست در نظر میگیریم و دومی رو title پست. پس کافیه در فایل view مربوط به پستتون اینجوری بنویسید:

<div class="breadcrumb">
            <ul>
                <li><a href="{{ route('homepage') }}">خانه</a></li>
                <li><a href="{{ route('blog.post.list') }}">وبلاگ</a></li>
                <li><a href="{{ route('blog.post.list.category', $post->category->slug) }}">{{ $post->category->title }}</a></li>
                <li><a href="{{ route('blog.post.single', $post->slug) }}">{{ $post->title }}</a></li>
            </ul>
        </div>

یک راهکار رایج دیگه اینه که یک component با blade برای breadcrumbs هاتون ایجاد کنید و در هر صفحه ای که خواستید همراه با عناوین و لینک های مورد نظر فراخونیش کنید.


مهرداد
@mehrdadroshanraee69 4 سال پیش مطرح شد
0

@mhyeganeh
بنظرتون نباید از حلقه فور ایچ استفاده کرد؟

        <div class="breadcrumb">
            <ul>
                <li><a href="/" title="خانه">خانه</a></li>
                @foreach ($segmants = request()->segments() as $index => $segment)
                    <li>
                        {{isset($category) && $index === count($segments) - 1 ? $category->name : $segment}}
                        <a href=""></a>
                    </li>
                @endforeach
            </ul>
        </div>

محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
0

@mehrdadroshanraee69
پس همچین هم تازه کار نیستی 😉

قطعا یک راه حل برای رسیدن به این نیاز وجود نداره. بستگی به تصمیم خودتون داره. اگر میخواید تا این اندازه داینامیک باشه و از ساختار تمام URL هاتون هم خاطر جمع هستید، روش خودتون هم خوبه.

من ترجیح شخصی خودم اضافه کردن بصورت دستی هست که دستم در موارد خاص بازتر باشه. کدش هم یک مقدار ساده تره 😊


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام