我有一个多模板网站,我在我的视图文件夹中为不同模板创建了多个文件夹...但我有1个管理员模板,我想从该文件夹加载所有的管理部分
在我的路线中我有类似
的东西Route::group(['namespace' => 'Cp', 'prefix' => 'cp' , 'middleware'=>['admin' ,'auth'] ], function()
{
Route::get('/' , 'IndexController@index' )->name('index_cp');
});
在app/providers/ViewServiceProvider.php
我根据数据库存储值动态更改模板文件夹,但我试图获取当前路由的前缀,所以如果它cp
它忽略模板文件夹并从{{1加载模板文件夹
cp
我收到此错误
public function registerViewFinder()
{
$request = app(\Illuminate\Http\Request::class);
dump($request->route()->getPrefix());
if($request->route()->getPrefix() != 'cp')
{
// read from db & set the template folder
}
}
基本上Call to a member function getPrefix() on null
返回null
答案 0 :(得分:0)
我认为,而不是采用getPrefix
方式,您可以在请求对象上使用is()
方法,
其中is方法执行以下操作
is方法允许您验证传入的请求URI 匹配给定的模式。您可以使用*字符作为通配符 使用这种方法时:
if (request()->is('cp/*')) {
// do the template switching.
}