2
我在Laravel 5中构建模块化系统,我的系统的模块视图位于/resources/views
之外。他们在/modules/XXXXModule/core/views
之下。从路径Laravel 5呈现视图
当我使用return view('viewFileHere')
它不起作用(逻辑),因为正在寻找错误的地方的意见。
如何告诉Laravel 5在其他地方(路径)搜索视图?
我在Laravel 5中构建模块化系统,我的系统的模块视图位于/resources/views
之外。他们在/modules/XXXXModule/core/views
之下。从路径Laravel 5呈现视图
当我使用return view('viewFileHere')
它不起作用(逻辑),因为正在寻找错误的地方的意见。
如何告诉Laravel 5在其他地方(路径)搜索视图?
有在Laravel增加对新意见路径的方法有两种:
1.使用addLocation
:
view()->addLocation('/modules/XXXXModule/core/views');
view()->addLocation('/modules/YYYYModule/core/views');
上述工作,但如果你有一个list.blade.php
视图中的每一个如果你使用这个文件夹:
return view('list');
它会一直返回它在本地找到的那个首先注册,在这种情况下,将为XXXXModule
。所以,虽然它的工作,它有其模块化结构的缺点。
2.通过使用addNamespace
:
view()->addNamespace('XXXXModule', '/modules/XXXXModule/core/views');
view()->addNamespace('YYYYModule', '/modules/YYYYModule/core/views');
以上会注册在不同的命名空间的每个路径,所以如果你有两个名称相同的观点文件(即list.blade.php
),但第二部分您可以访问它们的不同模块如下:
// for XXXXModule
return view('XXXXModule::list');
// for YYYYModule
return view('YYYYModule::list');
这样你就没有更多的位置冲突。
太好了!谢谢! –