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

GTF*_*GTF 4 php templates laravel blade

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

<body class="layout-default page-index">
Run Code Online (Sandbox Code Playgroud)

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

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

aja*_*olf 6

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

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

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

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

});
Run Code Online (Sandbox Code Playgroud)

在您的视图中:

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

<?php echo str_replace('.','-',Route::currentRouteName());?>
Run Code Online (Sandbox Code Playgroud)

这些应该可以为您提供所需的一切.