在Laravel 4中我有一个主刀片布局,我想在html元素中添加一个类,例如' tpl-home',但我需要知道哪个是使用View调用的当前视图名称: :使
<!doctype html>
<html lang="es" class="tpl-{{Str::slug($currentViewName)}}">
Laravel是否提供了检索此功能的任何功能?
由于
答案 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>
...