是否可以在Laravel(4)刀片模板中获取视图/布局名称

时间:2014-11-22 15:24:11

标签: php templates laravel blade

我有一个布局,我想根据显示的视图向主体添加类,即:

<body class="layout-default page-index">

我可以很容易地在Twig中做到这一点(OctoberCMS使用Twig)但是我看不到使用Laravel的Blade模板(我更喜欢)的方法。

我宁愿不必使用视图名称将变量传递给每个View::make,因为这似乎是多余的。

1 个答案:

答案 0 :(得分:6)

很好的问题,非常聪明的方式来使用CSS。 您通常可以通过向body标记或主容器div添加类来使用它。

在您的路线或过滤器文件中:

View::composer('*', function($view){

    View::share('view_name', $view->getName());

});

在您的观点中:

<?php echo str_replace('.','-',$view_name);?>

<?php echo str_replace('.','-',Route::currentRouteName());?>

这些可以为您提供所需的一切。