Есть ли способ, которым я не должен использовать несколько @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>
В нечто1.blade.php я бы определил, как это показать вкладки:
@include('product-tab1')
В файле Some4.blade.php отображаются вкладки:
@include('product-tab2')
Также вы бы использовали оператор if в файле представления для определения class="active"
или нет? Он получит определенную переменную от контроллера.
В этом случае вы бы использовали условное условие if, если короткое, то на самом деле очень короткое. Если навигация может выглядеть примерно так (обратите внимание, если с классами Bootstrap вы, вероятно, захотите использовать другие классы).
В идеале вы должны написать помощника для этого, но мы просто сделаем это с небольшим количеством логики в вашем представлении на данный момент. Просто перейдите к тегу, на который вы хотите установить активный класс, и введите следующее.
class="{{ Request::is('your/path') ? 'active' : '' }}"
Это немного грязно, но, безусловно, работает. В конечном итоге вы должны создать для него помощника, но он вам действительно не нужен для тестирования или небольших проектов.
Отличный ресурс для таких вещей, как Laracasts, вот соответствующее видео:
https://laracasts.com/lessons/active-states
Теперь по вашей другой проблеме, я не знаю точно, что вы делаете или почему вы ссылаетесь на эти вкладки. Так сложно найти хорошее решение.
Других решений пока нет …