如何在laravel中设置视图文件路径?

xdim222

我有这样的laravel应用程序的目录结构:

app/
   admin/
      controllers/
      views/ -> for admin views
   ...
   views/ -> for frontend views

如何在管理员中设置控制器的视图路径?我不想使用,View::addLocation或者View::addNamespace因为我可能具有与admin和frontend相同的视图文件名,并且不想为每个添加名称空间View::make('namespace::view.file')

我在http://laravel.com/api/4.2/Illuminate/View/View.html中看到了一种setPath方法,但是我怎么称呼它呢?View::setPath引发未定义的方法错误。

Lukasgeiter

您有两种方法可以实现目标。首先,让我们看一下app/config/view.php这就是定义视图加载的路径。

这是默认值:

'paths' => array(__DIR__.'/../views'),

方法1:加载两个目录

您可以轻松地将管理目录添加到阵列

'paths' => array(
    __DIR__.'/../views',
    __DIR__.'/../admin/views
),

现在的最大缺点是:视图名称必须唯一。否则,将采用首先指定的路径中的视图。
由于您不想使用视图命名空间,因此我想您也不想使用admin.viewname任何一种语法您可能会更喜欢方法2;)

方法2:在运行时更改视图页面

可以使用该Config::set方法在运行时更改每个Laravel配置

Config::set('view.paths', array(__DIR__.'/../admin/views'));

显然,设置该配置不会更改任何内容,因为在应用程序引导时会加载该配置,此后会忽略该配置。

要在运行时更改路径,您必须创建的新实例FileViewFinder
看起来像这样:

$finder = new \Illuminate\View\FileViewFinder(app()['files'], array(app_path().'/admin/views'));
View::setFinder($finder);

方法3:使用addLocation但没有默认路径

您也可以在中删除默认路径 app/config/view.php

'paths' => array(),

然后View::addLocation在任何情况下(前端和管理员)使用

View::addLocation(app_path().'/views');
View::addLocation(app_path().'/admin/views');

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Laravel中设置文件路径?

如何在laravel的同一视图文件中的url中获取参数的值

如何在Laravel 5.4中将视图文件的HTML存储到变量中?

如何在Laravel5中更改视图文件夹?

如何在中间件Laravel中获取当前视图文件?

Laravel 如何为两个请求设置会话闪存数据以及如何在视图文件中访问它

如何在Azure功能中添加剃刀视图文件?

如何在Django的视图文件中调用模型的功能

如何在视图文件中显示外键数据?

如何在 Django 的视图文件中存储图像

在zend Framework 2中设置视图文件的视图后缀

如何在视图文件夹中包含js.erb文件

如何在Ruby的视图文件中显示续集数据库连接中的内容?

如何使用PHP和Laravel使视图文件中的代码更清晰?

如何在Symfony2中的包中生成视图文件?

Laravel 5.5视图文件中session('status')的目的?

如何在 Django 中设置 AJAX 调用的视图/路径?

如何检测哪个视图文件已在Grails中呈现

如何解决我的视图文件中的值错误

如何在 laravel homestead 中设置共享文件夹的 mysql general_log_file 路径

Laravel 5 如何从控制器传递单个变量并在刀片视图文件中捕获相同的变量?

如何在Emacs中定义特殊的键盘快捷方式来杀死视图文件缓冲区

php 代码在 Laravel 视图文件中工作,但核心简单的 Laravel 代码不在 Laravel 视图文件中(laravel 版本:5.2.45)

如何在 Apache Spark Standalone Cluster 中设置文件路径?

如何在Jupyter Lab中设置路径以查找CSV文件?

如何在PhpStorm中设置php.ini文件的路径

如何在Java程序中动态设置文件路径?

如何在Angular 7中设置静态文件的基本路径?

我如何在 ruby 文件中设置路径