我已經將我的Laravel運行環境更新爲截至此日期的最新版本。回到Laravel 4. *,我能夠做到這樣的事情:Laravel 4. *到5. *,在控制器中嵌套視圖
$this->layout->content = View::Make('users.login');
但是現在看起來像是失敗了。我經歷了很多帖子,嘗試了所有看起來合理的事情,而且我已經完全沒有提出任何適合我的案例。嘗試的努力鏈接可以在這篇文章的底部找到。下面是我正在努力工作的代碼。
我收到的錯誤範圍從「Class'App \ Http \ Controllers \ View'not found」 - 當我向控制器添加使用View時會解決這個問題,但這會導致另一個錯誤。我收到的另一個錯誤是「試圖分配非對象的屬性」,當我添加使用視圖;位。
的基本思路是這樣的:
我有兩個觀點,一個是這樣的基本頁面佈局(layouts.main),以及一個包含我希望我的主要佈局內嵌入用戶的登錄信息(用戶。登錄)。它們都是刀片格式文件,如果我嘗試這些文件,它們都會彼此獨立加載,但我無法將兩個文件嵌套在控制器下面。我試圖做到這一點,以便主文件可以是這樣,只有這個內容部分在頁面視圖之間改變。
控制器功能:
public function getLogin() {
$this->layout->content = View::Make('users.login');
}
葉片部分文件:
<div class="content roundBorder wrapper">
@yield($content)
</div>
嘗試的解決方案:使用View ::使 任何似乎會由於棄用 EX(?)。 https://laravel.io/forum/03-19-2014-simply-loading-multiple-views
試圖Laravel 4: Nest view inside layout with data但
return $layout->nest('content','user.login');
每次都失敗。
Laravel define default layout from controller in good way沒有工作,所以我認爲這也被棄用。
How to include a sub-view in Blade templates?將無法正常工作,因爲我要做到這一點就飛
https://laracasts.com/discuss/channels/general-discussion/laravel-5-this-layout-content-not-working?page=1沒有爲我工作,當我嘗試以下操作:
$content = view('user.login');
return view($this->layout, ['content' => $content]);
我在工作版本中使用視圖函數,所以這不是問題。在帖子中提到的是舊功能,以及嘗試的方式,使功能能夠像以前一樣工作。至於主文件,以前通過控制器完成的工作現在完全通過刀片接口完成......? – Gyhth
儘管這是我希望解決的問題,只是改變了控制器...哦,但是通過刀片腳本來完成所有這些工作似乎都有效。 +1給你! – Gyhth
那麼,這是記錄的方式。很顯然,刀片服務器最終會編譯到PHP,因此您可以查看源代碼,然後查看是否可以通過控制器中的View對象執行此操作。 – fubar