Fedor

Fedor

С нами с 15 апреля 2018; Место в рейтинге пользователей: #1832
Fedor
15 апреля 2018, 12:55
0
Привет всем! Немного не по теме, но пока искал ответ на один вопрос, постоянно втыкался на эту ветку.
Суть в чем. Стояла задача чтоб когда находишься на странице которая находится в контейнере например «Продукция», подставлялся в параметр класса «active» делая в меню ссылку «Продукция» другого цвета. И даже перейдя на страницу самой продукции, в меню она тоже оставалась активной. В общем порядок получился такой:
Установил инструмент pdoTools (отсюда)
Потом в чанке, например в коде меню
<li class="navitem"><a class="navlink" href="/[[~3]]">Фото и видео</a>
</li>
когда элемент меню должен становиться другим цветом, появляется параметр «active»
<li class="navitem active"><a class="navlink" href="/[[~3]]">Фото и видео</a>
</li>
И вот, при переходе например к странице «Природа»([[~12]]) являющейся дочерней «Фото и видео»([[~3]]). Надо что-бы меню автоматически оставалось активным. Получился костыль своеобразный, но зато не плодить шаблоны:

<li class="navitem [[*parent:is=`3`:or:is=`10`:or:is=`12`:then=` active`]]
                    [[*id:is=`3`:then=` active`]]"><a class="navlink" href="/[[~3]]">Фото и видео</a>
</li>
Логика: Если id родителя страницы = id «3» или 10 или 12 (например у страницы Природа, которая является дочкой Фото и видео есть своя дочерняя страница и вы перешли на нее), то написать " active"
[[*id:is=`3`:then=` active`]] — если id страницы = 3, то сделать активным меню «Фото и видео»