是否有一种方法我不必使用多个@include
作为某些页面的标签页。
例如我做这样的事情
在/ product-tab1.blade.php
部分<ul class="nav-tabs hidden-xs" role="tablist">
<li><a href="/something1" role="tab">Category Name 1</a></li>
<li class="active"><a href="/something2">Category Name 2</a></li>
</ul>
在/ product-tab2.blade.php
部分<ul class="nav-tabs hidden-xs" role="tablist">
<li><a href="/something4" role="tab">Something Name 4</a></li>
<li class="active"><a href="/something5">Something Name 5</a></li>
<li class="active"><a href="/something6">Something Name 6</a></li>
</ul>
在something1.blade.php中我会像这样定义以显示标签:
@include('product-tab1')
在something4.blade.php中显示标签:
@include('product-tab2')
您是否也会在视图文件中使用if语句来定义class="active"
?它将从控制器获得定义的变量。
答案 0 :(得分:1)
你会使用if条件,短if在这种情况下实际上是短的。导航的if看起来像这样(注意这个,如果使用Bootstrap类,你可能想要使用不同的类)。
理想情况下,您应该为此编写一个帮助程序,但我们现在只需要在您的视图中使用一些逻辑。只需转到要设置活动类的标记,然后将其放入。
class="{{ Request::is('your/path') ? 'active' : '' }}"
现在这有点脏,但它肯定有效。你应该最终为它创建一个帮助器,但你真的不需要一个用于测试或小项目。
像这样的东西的一个很好的资源是Laracasts,这是相应的视频:
https://laracasts.com/lessons/active-states
现在针对您的其他问题,我并不确切知道您在做什么或为什么要引用这些标签。用这种方式提出一个好的解决方案真的很难。