Mat*_*hew 2 css php view laravel laravel-5
我尝试了多种方法,包括此处的热门帖子:Add View Name to CSS Class on Body
但它会拉出主模板,而不是子模板名称。我使用@yield 和@extends 等。所以目前我的文件系统的一部分在我看来是这样的:
-Views
--Layouts
---=master.blade.php
--Shipments
---=index.blade.php
Run Code Online (Sandbox Code Playgroud)
所以我的shipments.index文件将@extends('layouts.master'),这样我就没有那么多冗余了。但是,参考上面的帖子,我得到以下结果:
<div id="page" class="layouts.master">
这不是我想要的,我至少更喜欢“shipments.index”,我不介意它是否更长,我只是想识别它。
您可以使用 Laravel View Composers
视图编辑器是渲染视图时调用的回调或类方法。如果您希望在每次呈现视图时将数据绑定到视图,视图编辑器可以帮助您将该逻辑组织到单个位置。
在文件中app/Providers/AppServiceProvider.php,编辑public function boot()方法
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot(Application $app)
{
view()->composer('*', function($view) {
view()->share('view_name', $view->getName());
});
}
Run Code Online (Sandbox Code Playgroud)
之后,在任何刀片模板中,您现在都可以访问变量
{{ $view_name }}