Laravel模板,每次在任何页面中显示默认数据

时间:2014-11-30 11:06:36

标签: php templates laravel laravel-4

我有很多不同的页面(比如feed,用户e.t.c)。在每个页面上我都有正确的阻止,显示一些默认信息(最新消息,顶级用户和其他一些)。

这个正确的块不依赖于页面的主要内容,但它需要一些逻辑(获取一些最新消息,获取顶级用户和其他)。我不想在控制器的每个动作中编写逻辑来提供数据。我想在任何地方写一次,并且查看需要自己获取它。我怎么能在Laravel 4中做到这一点?

P.S。我的右侧块视图包括来自应用程序主模板的@include语句。

1 个答案:

答案 0 :(得分:1)

您正在寻找view composers。它允许您在每次呈现特定视图时执行某些操作。

View::composer('name-of-the-right-block-view', function($view){
    // ... fetch information ...
    $view->with('news', $news);
    $view->with('topUsers', $topUsers);
    // etc...
});

你基本上可以把它放在任何地方。一个合适的位置是filters.php档。