我有一个名为admin.users的视图。在该视图中,我使用@include指令包含页眉和页脚。我写了所有的观点 - 包括routes.php中的东西,所以对于admin.users来说是:
Route::get('users', function() {
// ...
return View::make('admin.users')->with('num', $usersNum);
}
在users.blade.php中:
@include('admin.partials.header')
// ....
@include('admin.partials.footer')
是否可以将“users num”传递给标题视图以显示该变量?这是我合并视图的好方法,因为我读到了控制器布局,但实际上我决定只有rest控件,而我只在routes.php中包含视图(比如加载静态标记,然后通过与服务器通信) AJAX)
答案 0 :(得分:3)
查看'ViewComposers'(http://laravel.com/docs/responses#view-composers)。这是与您的视图共享数据并保持路由文件清洁的好方法。
在global.php(或任何其他地方)确实添加:
View::composer('admin.users', function($view)
{
// Do your $usersNum logic here
...
$view->with('num', $usersNum);
});
如果您希望此数据在admin.dashboard中也可用,请重写为:
View::composer(array('admin.users', 'admin.dashboard'), function($view)
答案 1 :(得分:1)
正如我在评论中所述(以及似乎解决了您的问题),您应该在其中创建包含页眉和页脚的admin.template
视图,然后使用@extends('admin.template')
开始您的观看。