【问题标题】:Laravel - Blade Template define sections/includeLaravel - 刀片模板定义部分/包含
【发布时间】:2014-11-13 21:33:10
【问题描述】:

有没有一种方法我不必为某些页面的标签使用多个@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"吗?它将从控制器获取定义的变量。

【问题讨论】:

    标签: php laravel blade laravel-3


    【解决方案1】:

    您将使用 if 条件,在这种情况下,short-if 实际上是非常短的。导航的 if 可能看起来像这样(请注意,如果使用 Bootstrap 类,您可能想要使用不同的类)。

    理想情况下,您应该为此编写一个帮助程序,但现在我们将在您的视图中使用一些逻辑来完成它。只需转到您要设置活动类的标签并输入以下内容。

    class="{{ Request::is('your/path') ? 'active' : '' }}"
    

    现在这有点脏,但它肯定有效。你最终应该为它创建一个助手,但你真的不需要一个用于测试或小型项目的助手。

    Laracasts 是一个很好的资源,下面是相应的视频:

    https://laracasts.com/lessons/active-states


    现在对于您的其他问题,我不知道您在做什么或为什么要引用这些选项卡。这种方式真的很难想出一个好的解决方案。

    【讨论】:

    • 感谢您的回答。我会看那个视频。关于选项卡,一些页面将具有相同的选项卡部分。其他一些页面将具有不同的选项卡部分。这就是为什么我想引用这些选项卡。明白了吗?
    • 啊,在这种情况下,如果它只是两组选项卡,您可以为不同的页面创建不同的模板。只需使用一组创建一个模板,然后使用另一组创建一个模板并使用它们。如果它更像你正在做的那样,那很好。
    猜你喜欢
    • 2016-12-15
    • 2016-12-29
    • 2018-05-02
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    相关资源
    最近更新 更多