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');
這樣你就沒有更多的位置衝突。
太好了!謝謝! –