2015-11-08 105 views
2

我在Laravel 5中構建模塊化系統,我的系統的模塊視圖位於/resources/views之外。他們在/modules/XXXXModule/core/views之下。從路徑Laravel 5呈現視圖

當我使用return view('viewFileHere')它不起作用(邏輯),因爲正在尋找錯誤的地方的意見。

如何告訴Laravel 5在其他地方(路徑)搜索視圖?

回答

1

有在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'); 

這樣你就沒有更多的位置衝突。

+0

太好了!謝謝! –