Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Артем 29.04.2005 02:08
Хочу реализовать меню с тремя уровнями:# Подключение в БД, где храянтся все разделы первого уровня ^connect[$connect_string]{ $menua[^table::sql{SELECT id, name, url FROM sect ORDER by name}] } ^menua.menu{ <li id="$menua.id"><a href="$href/$menua.url/">$menua.name</a> $menua.id</li> # Проверяем, если URI соответствует URL раздела первого уровня, то выводим данные для меню 2 уровня, ТОЛЬКО из нужной таблицы ^if(^uri.match[$href/$menua.url/]){ ^connect[$connect_string]{ $menub[^table::sql{ SELECT id, name, url, sid FROM $menua.url WHERE sid = '0' ORDER by name }] } # Выводим второй уровень ^menub.menu{ <li class="2"><a href="$href/$menua.url/$menub.url/">$menub.name</a> $menub.id - $menub.sid</li> # Третий уровень пошел... ^connect[$connect_string]{ $menuc[^table::sql{ SELECT id, name, url, sid FROM $menua.url WHERE sid = '$menub.id' ORDER by name }] } ^menuc.menu{ ^if(^uri.match[$href/$menua.url/$menub.url/]){ <li class="3"><a href="$href/$menua.url/$menub.url/$menuc.url/">$menuc.name</a> $menuc.id - $menuc.sid</li> } } } } }Обнаружил, что если URL первого уровня совпадает с URL второго уровня другого раздела, то выводится и третий уровень нужного раздела (правильно), и второй уровень другого раздела, чей URL совпадает (например: запрашиваю Новости спорта /news/sport/, показыватся плюс к нужному Спортивная команда /sport/).