如何在Laravel 5中检索视图名称?

时间:2017-10-20 16:01:52

标签: php css laravel laravel-5 view

我尝试了多种方式,包括热门帖子:Add View Name to CSS Class on Body

但它会提取主模板,而不是子模板名称。我使用@yield和@extends等。所以目前这是我的文件系统的一部分在我的视图中的样子:

-Views
--Layouts
---=master.blade.php
--Shipments
---=index.blade.php

所以我的shipment.index文件将@extends(' layouts.master'),所以我没有那么多的冗余。但是,参考上面的帖子,我得到以下结果:

<div id="page" class="layouts.master">

这不是我喜欢的,我至少更喜欢&#34; shipment.index&#34;我不介意,如果它更长,我只想确定它。

1 个答案:

答案 0 :(得分:2)

您可以使用Laravel View Composers

  

视图作曲家是a时调用的回调或类方法   视图呈现。如果您有要绑定到视图的数据   每次渲染视图时,视图编辑器都可以帮助您进行组织   把这个逻辑放到一个地方。

在文件{$order->date_add|cat:' +60 days'|date_format:"%d-%m-%Y"} 中,修改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()); }); }