Pages

Автор Сообщение

Удалено

#1/08.06.2013 14:31

Подскажите пожалуйста самое оптимальное условие для вывода своего меню в определенной категории и всех подкатегориях в pages

Например есть категория в pages по адресу /freelance/mypages , в ней 2 подкатегории mypages1 и mypages2 . Нужно вывести меню, например из слотов в админке : 

{PHP.cfg.menu1} .   

 <!-- IF {PHP.al} == ' mypages ' --> mypages <!-- ENDIF -->   Не хочет.

Сообщения:

Cmsworks

Булат
#2/10.06.2013 12:02
0

Администраторы

Карма: +678

Почему используете переменную al? Она же не идентифицирует категорию. Нужно использовать перепенную c:

<!-- IF {PHP.c} == 'mypages' -->

{PHP.cfg.menu1}

<!-- ENDIF -->

Добавлено 6 минуты спустя:

А чтобы это работало и для подкатегорий нужно сделать через callback-функцию:

<!-- IF {PHP.c|cot_structure_parents('page', $this, 'first')} == 'mypages' -->

<!-- ENDIF -->

То есть мы получаем значение родитеской категории и сравниваем ее.

Сообщения: 2388

Удалено

#3/11.06.2013 10:42

-------------------------------------------

А для категорий проектов это условие подойдет?    или там другое нужно ?

Сообщения:

Cmsworks

Булат
#4/11.06.2013 11:18
0

Администраторы

Карма: +678

#806 Justwebber:

-------------------------------------------

А для категорий проектов это условие подойдет?    или там другое нужно ?

<!-- IF {PHP.c|cot_structure_parents('projects', $this, 'first')} == 'mycat' -->

<!-- ENDIF -->

Сообщения: 2388

Удалено

#5/11.06.2013 11:36

Спасибо , уже на 97% закончил переделку меню проектов , чтобы формировалось меню-гармошка динамически, остался один мелкий нюанс, нужно чтобы при выборе подкатегории , вся категория оставалась открыта (весь список). Сейчас я сделал чтобы при переходе в категорию гармошка оставалась открыта , а вот подкатегорию думаю как реализовать.

Вот строчка , которая проверяет и присваивает display:block :

<li class="subnav-list"<!-- IF {ROW_SELECTED} --> style="display:block"<!-- ENDIF -->>{ROW_SUBCAT}</li>

Благодаря ей список выбранной категории раскрыт при переходе. Но если выбрать подкатегорию, то список при переходе закрыт. Получается что нужно чтобы при проверке  <!-- IF {ROW_SELECTED} --> подкатегории,  style="display:block" присваивался родительской категории

Добавлено 19 минуты спустя:

==========================================================================

Можно ли прописать какое-нибудь универсальное условие , чтобы в строчке 

<li class="subnav-list"<!-- IF {ROW_SELECTED} --> style="display:block"<!-- ENDIF -->>{ROW_SUBCAT}</li>

заменить  {ROW_SELECTED}  другим условием, которое будет добавлять  style="display:block" не только если выбрана категория, а и если выбрана подкатегория этой категории?

Добавлено 28 минуты спустя:

Не могу пока собрать до кучи , но вот заготовка:

<li class="subnav-list"<!-- IF {ROW_SELECTED} OR {PHP.c|cot_structure_parents('projects', $this, 'first')} == 'test' --> style="display:block"<!-- ENDIF -->>{ROW_SUBCAT}</li>

Сейчас при выборе категории test или любой из ее подкатегорий, становится раскрытым список, но он раскрывается во всех категориях.

Нужно заменить test на тег определяющий ее, и чтобы действие происходило только в пределах категории и подкатегорий

Сообщения:

SergeySt

Сергей
#6/03.12.2014 15:40
0

Пользователи

Карма: +25

Я извеняюсь ну ни как до меня не дойдёт.

Хочу вывести блок в определённой категории, путь котегории http://сайт/projects/adminpersonal

прописываю условие как тут написал devkont

выглядит так

<!-- IF {PHP.c|cot_structure_parents('projects', $this, 'first')} == 'adminpersonal' --> БЛОК <!-- ENDIF --> но по чему то не выводится, что я неправильно в условии написал???

 

Сообщения: 96