форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Вопрос такой: хочу сделать двухуровневую навигацию, под нее соответственно, категории подобной структуры:
Ежики
Маленькие ежики
Средние ежики
Гигантские ежики-вампиры
Лисы
Хитрые лисы
Умные лисы
Хвостатые лисы
И две строки навигации:
main-nav, отображаем категории верхнего уровня.
sub-nav, отображаем подкатегории.
Например,
--- Ежики | Лисы ---
-- Маленькие ежики | Средние ежики | Гигантские ежики-вампиры --
С основной навигацией все просто, это txp:category_list.
А как решить вторую строку?
Ну и сопутствующий вопрос - где откопать PHP API текстпаттерна? Надеюсь, там найдется нужная логика, и ее не придется писать полностью руками)
PS1:
Нашел
http://textpattern.org/plugins/940/smd_parent - возвращает родителя заданного уровня. Похоже, это то, что мне надо.
Отредактированно lifecoder (29-09-2010 16:39:14)
Неактивен
Честно говоря, не ожидал, что столь простая вещь реализуется так сложно)) Отдельно порадовало отсутствие такой операции, как "НЕ", и невозможность прямо проверить, что переменная _не_равна значению.
Получилось вот так:
<txp:asy_wondertag>
<txp:variable name="parent" value="<txp:smd_parent />" />
</txp:asy_wondertag>
<txp:if_variable name="parent" value="">
<txp:asy_wondertag>
<txp:variable name="parent" value="<txp:category />" />
</txp:asy_wondertag>
</txp:if_variable>
<txp:if_variable name="parent" value="">
<txp:else />
<div id="top-submenu">
<txp:asy_wondertag>
<txp:category_list parent="<txp:variable name="parent" />" children="0" exclude="<txp:variable name="parent" />" wraptag="ul" break="li" class="top-submenu-list" />
</txp:asy_wondertag>
</div>
</txp:if_variable>
Неактивен
Рано вы вердикт выносите. Все есть.
1. asy_wondertag давно (с 4.0.7) не нужен. Чтобы получить тег-в-теге нужно всего лишь значение атрибута взять в 'одинарные' кавычки.
2. <txp:category_list parent="name_of_parent" exclude="name_of_parent" /> - выведет дочерние категории без родительской.
Неактивен
1. Спасибо, возьму на вооружение:)
2. Да, конечно. Именно это я и сделал - вся возня ради получения "name_of_parent" - он ведь меняется для категорий второго уровня вложенности, а для первого уровня мне нужен не parent (который будет корнем и получится две одинаковых строки навигации), а название самой категории.
Неактивен
А как вывести все тоже самое, но без ссылок. Просто обычным текстом перечень дочерних категорий
Неактивен
<txp:category_list parent="name_of_parent" exclude="name_of_parent">
<txp:category link="0" title="1" />
</txp:category_list>
Неактивен