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


Is it possible to get the view / layout name in a Laravel (4) blade template

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

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

我可以很容易地在 Twig 中做到这一点(October CMS 使用 Twig),但我看不到使用 Laravel 的 Blade 模板(无论如何我更喜欢)的方法。

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

好问题,使用 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());?>

这些应该能满足你所需要的一切。