2

我的 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。到目前为止,这很好。

但是对于这个 Route 组,我会把我所有的观点都放在里面/resources/views/admin。因此,我不想admin在每个视图名称之前使用。

是否有任何可能的参数Route::group可以定义我的视图的命名空间,以便 Laravel 在里面的特定目录中搜​​索我的视图/resources/views/

4

2 回答 2

1

您可以使用

View::addNamespace('admin', '/path/to/admin/views');或者View::addLocation('/path/to/your/admin/views');

在您的路由文件中指定您的管理视图文件夹。

使用第一种方法,您可以使用 return view('admin::view.name');第二种方法,您可以直接使用视图名称,例如return view('view.name');

于 2017-05-01T07:14:37.600 回答
1

我遇到了同样的问题并创建了一个可以工作的辅助函数...在 app 目录下添加了一个 helpers 目录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,您就可以使用此辅助功能

于 2017-05-01T07:24:56.170 回答