我正在按部分组织我的网站,这些部分应该在我的导航栏上显示(在相应的链接上有一个active
类)。目前,如果当前网址与链接的网址匹配,我会检查导航栏中的每个链接,但它在每种情况下仅适用于1个网址。它应该是这样的:
article
----------------> article
部分article/create
-----> article
部分article/edit
--------> article
部分forum
-------------------> forum
部分forum/post/12345
- > forum
部分由于我所有的"部分"使用控制器,我想也许我可以实现一种方式(可能使用构造函数)将变量(section
)传递给控制器返回的所有视图,以便我的布局可以访问它并设置正确链接上的active
课程。
但我不想每次都要return View::make('myView')->with('section', $this->section);
任何人都知道如何实现这一目标?感谢。
答案 0 :(得分:4)
您应该使用Request::segment(1)
将其与部分进行比较。
如果您的网址为article/create
并且您使用的是Request::segment(1)
,则会返回article
而不是article/create
事实上,在这种情况下,你不必向Blade传递任何东西,因为它应该是可见的:
@if (Request::segment(1) == 'article')
class="active"
@endif
答案 1 :(得分:1)
您也可以在所有视图之间共享它,这样如果更改后更容易更改段,并使您不必在所有视图中编辑Request :: segment(1)(如果您有更多)
使用:
View::share('section', Request::segment(1));
然后在每个视图中获取值:$section