[英]Laravel 8 how to name a group
這個問題已經被問到,但在我看到的大多數答案中它已經過時了。
這就是我正在嘗試的:
Route::prefix('cart')->group(function() {
Route::get('/mycart','App\Http\Controllers\frontend\CartController@mycart')->name('mycart');
Route::get('/checkout','App\Http\Controllers\frontend\CartController@checkout')->name('checkout');
})->name('cart');
我想命名該組,然后在我的刀片中能夠做到:
@if (Route::currentRouteName() != 'individual_product')
上面給了我這個錯誤: Call to a member function name() on null
知道我做錯了什么嗎?
可以使用 arrays 配置所有內容:
use Illuminate\Support\Facades\Route;
Route::group(['prefix' => 'cart', 'name' => 'cart.'], function() {
Route::get('/index', ['as' => 'index', 'uses' => 'CartController@index']);
Route::get('/checkout', ['as' => 'checkout', 'uses' => 'CartController@checkout']);
});
並且'as' => 'cart.index'
可能仍然比 命名組更具可讀性(這可能取決於)。
在 Blade 中也可以使用Route
:
@if (Route::has('cart')) @endif
@if (Route::has('cart.index')) @endif
支持列出所有定義的路由:
php artisan route:list
您可以使用如下name
前綴:
Route::name('cart.')->prefix('cart')->group(function() {
Route::get('/mycart','App\Http\Controllers\frontend\CartController@mycart')->name('mycart');
Route::get('/checkout','App\Http\Controllers\frontend\CartController@checkout')->name('checkout');
});
更多信息: https://laravel.com/docs/8.x/routing#route-group-name-prefixes
在刀片中你可以檢查
@if(request()->routeIs('cart.*')) // or ->routeIs('cart.mycart')
@endif
https://laravel.com/docs/8.x/requests#retrieving-the-request-path
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.