راکت

مدیریت slug ها در لاراول

3 پاسخ

سلام و عرض ادب

دوستان من میخوام برای یادگیری خودم و درگیر شدن با لاراول یه CMS با لاراول درست کنم. همچی بخوبی پیشرفته تا الان که رسیدم به مدیریت slug صفحات یا پست ها در صورتی که Category داشته باشن. برای مثال slug زیر میدونم چکار کنم
"/post/{slug}"

ولی زمانی که صفحات یا پست ها نیاز به Category بندی داره مثل Wordpress نمیدونم باید چکار کنم.

فرض کنید 3مدل زیر url داریم.

domain.com/post/slug
domain.com/post/learn/slug
domain.com/page/news/slug

واقعا ممنون میشم راهنماییم کنید. یا مثالی مشابه داشته باشید.

ثبت پرسش جدید

پاسخ‌ها

3
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

در واقع پیاده‌سازی این Route ها و چگونگی اون بر میگرده به برنامه نویسی شما و نیازهای پروژه.

مثلا برای لیست کردن پست‌های یه کَتِگوری:

domain.com/category/{category}/posts

و یا حتی برای ویرایش:

domain.com/edit/{postSlug}

و حالاتی هم پیش میاد مثل:
domain.com/posts/{postSlug}/comments/{comment}/edit

اما پیشنهاد میشه از مدل‌هایی مثل نمونه آخر استفاده نشه و بجاش نسخه ساده‌تری مثل زیر استفاده بشه
domain.com/edit/{comment}

Shahin Akbari
Shahin Akbari
@akbarishahin

تخصص: Web Developr

@ali.bayat
راستش من برای نمایش صفحاتم میخوام برای بخش edit اوکی هست. فقط زمانی که میخوام پست ها نمایش اده بشه.
زمانی که اپراتور مثلا میخواد یه صفحه ایجاد کنه بغیر از کانتنت صفحه باید title و slug صفحه را وارد کنه و category مناسب هم اگه لازم انتخاب کنه. من این slug که مثلا به این شکال میشه را domain.com/post/category/subcategory/slug را در دیتابیس ذخیره میکنم. حلا کلشو یا بدون دامین اصلی.
مسئله ای که برای من سوال زمانی که من این لینک یه جایی در سایت که قرار میدم باید route داینامیکی باشه که هر لینک با این شکل را هدایت که به کنترلر مشخص برای نمایش صفحش.

و اینکه ممکنه تعداد category ها متغیر باشه. اینارو من نمیدونم چجوری باید هندل کنم.

مثلا برای لینک domain.com/post/category/subcategory/slug شاید بتونم یه روتی تعریف کنم به شکل زیر
'post/{category}/{subcategory}/{slug}'

ولی اگه مثلا sub category نبود یا کلا category نبود چی؟

آیا لازم برای تمامی حالات route تعریف کنم یا راهی داره که بصورت داینامیک انجام بشه؟

ببخشید سوالم طولانیه

واقعا ممنونم ازتون

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

اگه مثلا sub category نبود یا کلا category نبود چی؟
برای این قسمت میتونید از {?category} استفاده کنید که آپشنال میشه اما باقی سوال رو متوجه نشدم

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

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