如何根据不同的请求更改内容区域?
问题描述:
我有这样的模板。如何根据不同的请求更改内容区域?
<div class="content">
@yield('content') //this area should load different files on different URI's
</div>
如果我加载.com/register
,它应该在的@yield.
的地方加载register.blade.php
如果我打开别的东西,它会加载这一观点。
我将定义哪些文件应该在Routes.php
装载Route::get();
完整的源在这里,可读性更强:http://pastebin.com/t2Md20r9所以你可以看到我做了什么至今。
应该做什么?
答
你很近,就在register.blade.php
扩展您的布局。
1.Put您的模板文件中views/layouts/master.blade.php
2.In您register.blade.php把
@layout('layouts.master')
在Laravel 4
@extend('layouts.master')
之上。
3.Now使用return View::make('register');
答
您可以通过它在你的Route.php文件是这样的:
Route::get('your_page', function() {
View::make('your_page')->with('contentTemplate', 'register');
}
Route::get('other_page', function() {
View::make('other_page')->with('contentTemplate', 'other_content');
}
而且在your_page,做
<div class="content">
@render($contentTemplate)
</div>
什么是高手? – Aristona 2013-04-06 19:36:09
它是你的模板/布局文件名,你可以随心所欲地命名它。但正如我在第一步告诉master.blade.php :) – Usman 2013-04-06 19:53:55