سلام و خسته نباشید خدمت همه دوستان عزیز
من یه مدل ایجاد کردم به اسم Page برای ایجاد کردن برگههای یکتا ( مثل درباره ما و تماس با ما و ... )
و اینکه روتی که برای frontend اون ایجاد کردم به این شکل هستش :
Route::get( '/{pageSlug}', 'PageController@single' )->name('single.page');
و طبیعیه که slug برگه ها به همراه یک / درست بعد از دامنه اصلی آدرس دهی میشن! ( مثل : domain.com/about-us )
براش یه view هم در نظر گرفتم که برگههای ایجاد شده و ذخیره شده در دیتابیس توسط اون نشون داده بشن.
حالا مشکل اینجاست که وقتی صفحاتی مثل admin یا cart یا profile رو هم که دقیقا به شیوه روت بالا هستند میزنم به view خودشون نمیرن و از view که در بالا عرض کردم استفاده می کنند.
حالا میخوام ببینم چطوری میشه بعضی از کلمات مثل همین admin و ... رو از اون روت بالا exclude کرد.
تا جایی که متوجه منظورتون شدم برای حل این مسئله تون کافیه مسیرهای مستقیمتون مثل admin و cart و profile رو قبل از wildcard تون قرار بدید. همین!
Route::get( '/admin', 'MainController@admin' )->name('admin');
Route::get( '/cart', 'MainController@cart' )->name('cart');
Route::get( '/profile', 'MainController@profile' )->name('profile');
Route::get( '/{pageSlug}', 'PageController@single' )->name('single.page');
اینجوری روترتون URL درخواستی رو از بالا چک میکنه و پایین میاد. اگر در مسیرش با هر یک از موارد مستقیم مواجه شد که به مقصد تعریف شده هدایتش میکنه. اگر هیچ یک از موارد بالا نبود میاد سراغ pageSlug.
@samanzdev درود دوست گرامی ممنون از توجهتون
فکر کنم منظور بنده رو درست متوجه نشدید چون بنده route های پنل مدیریت رو کلا در یک فایل جداگانه قرار دادم و این route هم که جزو route های frontned هستش داخل یه فایل جداست. منتهای مراتب چون شیوه آدرس دهی domain.com/admin مثل شیوه آدرس دهی مدل تعریف شده من برای برگه ها هستش مثل : domain.com/about-us به همین خاطر لاراول اون admin رو هم یکی از slug های مدل من در نظر میگیره و به controller اشتباه و view اشتباه پاس میده
تا جایی که متوجه منظورتون شدم برای حل این مسئله تون کافیه مسیرهای مستقیمتون مثل admin و cart و profile رو قبل از wildcard تون قرار بدید. همین!
Route::get( '/admin', 'MainController@admin' )->name('admin');
Route::get( '/cart', 'MainController@cart' )->name('cart');
Route::get( '/profile', 'MainController@profile' )->name('profile');
Route::get( '/{pageSlug}', 'PageController@single' )->name('single.page');
اینجوری روترتون URL درخواستی رو از بالا چک میکنه و پایین میاد. اگر در مسیرش با هر یک از موارد مستقیم مواجه شد که به مقصد تعریف شده هدایتش میکنه. اگر هیچ یک از موارد بالا نبود میاد سراغ pageSlug.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟