我在Laravel /routes/web.php中有以下配置:
Route::group(['prefix' => 'admin'], function(){
Route::get('/', function() {
return view('admin.login');
});
});
如果您发现,我已经提到view('admin.login')
此次调用/resources/views/admin/login.blade.php
。这至今仍然很好。
但是对于这个路线组,我将在/resources/views/admin
内拥有所有观点。因此,我不想在每个视图名称之前使用admin
。
是否有Route::group
级别的可能参数,我可以通过该参数定义视图的命名空间,以便Laravel在/resources/views/
内的特定目录中搜索我的视图?
答案 0 :(得分:1)
您可以使用
View::addNamespace('admin', '/path/to/admin/views');
或View::addLocation('/path/to/your/admin/views');
在路线文件中指定管理员视图文件夹。
使用您可以使用的第一种方法
return view('admin::view.name');
使用第二种方法,您可以直接使用视图名称,例如return view('view.name');
答案 1 :(得分:1)
我遇到了同样的问题并创建了一个有效的辅助功能......
在app目录app\Helpers\functions.php
function adminView($file){
return view('foo.' . $file);
}
在composer.json文件中注册了这个文件
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
},
"files": ["app/Helpers/functions.php"]
},
只需运行composer dump-autoload
即可使用此辅助函数