包括在刀片模板上返回视图的控制器方法

时间:2013-09-30 07:14:48

标签: php templates laravel laravel-4 blade

我已经和Laravel合作了一段时间。

然而,我面临着新的挑战。我的应用程序中有一些通知将显示在主模板上。

在这种情况下,能够包含NotificationController@getNotifications返回包含通知的视图会很棒。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

我认为您不应该包含任何控制器来实现此目的。控制器应该处理用户请求。我认为composer是可行的方法。

为主模板创建一个作曲家,为视图提供您想要显示的通知。

View::composer('layouts.master', function($view)
{
    $notifications = Notification::all();
    $view->with('notifications', $notifications);
});

然后在模板文件中渲染通知。

另一种方法是在通知视图中添加一个作曲家,然后在主模板中包含该视图(使用@include)。

注意: Laravel默认情况下不为作曲家提供文件或文件夹。我通常创建一个 composers.php 或一个 composers 文件夹(用于基于类的作曲家)。