如何在Laravel 4中的主布局中获取当前视图名称?

时间:2014-03-14 11:24:27

标签: php laravel-4

在Laravel 4中我有一个主刀片布局,我想在html元素中添加一个类,例如' tpl-home',但我需要知道哪个是使用View调用的当前视图名称: :使

<!doctype html>
<html lang="es" class="tpl-{{Str::slug($currentViewName)}}">

Laravel是否提供了检索此功能的任何功能?

由于

2 个答案:

答案 0 :(得分:12)

在过滤器文件中:

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

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

});

然后在您的主刀片布局中,您可以将其作为$ view_name访问。

答案 1 :(得分:3)

View Composers是一种在视图中保留/共享变量的好方法,但路径文件中设置的视图名称在每个视图中比变量更多是固定值,这就是为什么,在这种情况下,

我宁愿在Blade中使用Request::path() == 'viewName'

<ul class="nav navbar-nav">
  <li{{ Request::path() == 'admin' ? ' class="active"' : '' }}>
    <a href="{{ URL::to('/admin') }}">Admin</a>
  </li>
  <li{{ Request::path() == 'bookings' ? ' class="active"' : '' }}>
    <a href="{{ URL::to('/bookings') }}">Bookings</a>
  </li>
  ...