Foren / National / Russian / Тех. поддержка / Как сделать корректные кнопки меню на News и на Articles?

Zababon
#1 1. Februar 2015, 03:25

Приветствую!

В существующем шаблоне была ссылка в меню на раздел News

<li class="<!-- IF {PHP.m} == 'page' OR {PHP.env.ext} == 'page' -->active<!-- ENDIF -->"><a href="{PHP|cot_url('page', 'c=news')}">{PHP.L.News}</a></li>

Решив добавить ещё ссылку на статьи, дублировал эту строку заменив все News на Articles

<li class="<!-- IF {PHP.m} == 'page' OR {PHP.env.ext} == 'page' -->active<!-- ENDIF -->"><a href="{PHP|cot_url('page', 'c=articles')}">{PHP.L.Articles}</a></li>

И все физически работает. Но из-за того, что оба раздела принадлежат и определяются по модулю page нажав на одну из ссылок класс active получают сразу обе и выглядят нажатыми. Подскажите каким образом можно изменить условие, чтобы активный раздел отображался корректно.

Спасибо!

 

Kort Online
#2 1. Februar 2015, 03:32

Переменная m, если я правильно помню, "отвечет" за режимы добавления и редактирования страниц и может принимать значения add или edit. Соответственно, в твоей конструкции она не нужна. Достаточно будет просто использовать проверку переменной c:

<li<!-- IF {PHP.c} == 'news' --> class="active"<!-- ENDIF -->><a href="{PHP|cot_url('page', 'c=news')}">{PHP.L.News}</a></li>
<li<!-- IF {PHP.c} == 'articles' --> class="active"<!-- ENDIF -->><a href="{PHP|cot_url('page', 'c=articles')}">{PHP.L.Articles}</a></li>

Проверять env.ext в этом случае нет необходимости.

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Zababon
#3 1. Februar 2015, 03:47

Спасибо за помощь, теперь всё работает!

А где бы можно было почитать про эти m и с?

В статье о глобальных переменных эти значения не указаны. Да и в API я их не вижу.

 

Kort Online
#4 1. Februar 2015, 03:55

Видимо в документации описание модуля Page неполное.

Посмотри в modules/page/page.php

SED.by - создание сайтов, разработка плагинов и тем для Котонти