如何根据不同的请求更改内容区域?

问题描述:

我有这样的模板。如何根据不同的请求更改内容区域?

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

+0

什么是高手? – Aristona 2013-04-06 19:36:09

+0

它是你的模板/布局文件名,你可以随心所欲地命名它。但正如我在第一步告诉master.blade.php :) – Usman 2013-04-06 19:53:55

您可以通过它在你的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>