2016-01-13 45 views
0

如果這是補救措施,表示歉意。我是Laravel的新手,說實話,我的佈局遊戲非常薄弱。這是情況。我在app.blade.php中有一個主佈局。這工作正常。然後,我拿出歡迎頁面的內容部分,並將其作爲welcome.blade.php從@yield調用的單獨視圖中拋出。完美的作品。但是,該歡迎文件仍然很長,我很樂意將其分解爲各個部分,併爲每個部分包含單獨的視圖。在非Laravel世界,這將是一樣簡單Laravel視圖:對子視圖進行問題

<?php include('firstsection.php'); ?> 

與其說Laravel,經過一番搜索和修修補補,我覺得我好像遠離正確的答案獲得。我所做的就是將第一部分分解爲firstsection.blade.php,並將該文件放置在resources文件夾的views文件夾中。然後我試圖打電話與

<?php echo View::make('view.firstection') ?> 

這,和幾個不同的版本,如appendend .blade.php視圖名稱的,全部給我看沒有發現錯誤。我在這裏查看了很多問題,我想答案只是在我身上丟失了。任何人都可以提供建議嗎?

回答

1

此處需要的是@include指令,其中包含部分佈局。因此,在您的Blade模板中,您可以執行以下操作:

@include('firstsection') 

將主視圖劃分爲更小的視圖。

你可以閱讀更多的Control structures - 包括子視圖部分

編輯

的觀點,都是相對於resources/views目錄默認默認情況下,

如果你有文件resources/views/test.blade.php包括它你只需使用

@include('test') 

當你有文件resources/views/search/test.blade.php把它列入你應該使用:

@include('search.test') 

您可以使用此.作爲目錄分隔

+0

,我讀了一節好幾次,最初試圖以此爲@包括但couldn」讓它工作。也許我正在推翻它,或者被「共享」拋棄,因爲它似乎意味着我需要在名爲shared的resources \ views中創建一個文件夾,並將視圖放在那裏,或者「shared」是一個完全不同於「觀點」的結構。 –

+0

沒有。同樣的錯誤。具體來說,它是查找[view.firstsection]找不到。 (查看:/home/me/web/site/resources/views/welcome.blade.php)。看起來好像我需要在控制器中創建這個視圖,或者在模板中使用View:make功能,不是?而且我不願意在控制器中創建視圖,因爲有一些我會傳遞數據。 –

+0

假設你在'resources/views'文件夾中有'app.blade.php'。現在你可以在這個目錄下創建一個文件,比如'test.blade.php',現在在你的'app.blade.php'中,你可以使用'@include('test')' –