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

时间:2013-04-06 18:30:52

标签: php laravel laravel-3

我有这样的模板。

<div class="content">
      @yield('content') //this area should load different files on different URI's
</div>

如果我加载.com/register,则应在register.blade.php处加载@yield.如果我加载其他内容,则会加载该视图。

我将使用Routes.php

定义应在Route::get();中加载哪个文件

完整的来源是为了便于阅读:http://pastebin.com/t2Md20r9所以你可以看到我到目前为止做了什么。

应该做什么?

2 个答案:

答案 0 :(得分:2)

您非常接近,只需在register.blade.php扩展您的布局。

1.将模板文件放在views/layouts/master.blade.php

2.在您的register.blade.php中

@layout('layouts.master')

在Laravel 4中

@extend('layouts.master')

在上面。

3.现在使用return View::make('register');

答案 1 :(得分:0)

您可以在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>