Выкладываю модуль своего меню (последний вариант, с иерархией)...
Краткое описание:
Модуль предназначен для создания статических менюшек, которые зависят от основной иерархии сайта только названиями для меню и путями.
В чем преимущество перед стандартным модулем:
Для любого количества меню на сайте используется максимум 2 запроса в БД...
В чем недостатки (или недоделки):
1. Нет ни хелпа, ни описаний ничего, кроме функционала...
2. Работает только с моими хаками (в частности с полной прогрузкой иерархии)...
3. Работает только с mysql
4. Нет нормального оформления модуля
Как пользоваться (вкратце):
1. копируем в модули, устанавливаем, как обычно
2. в контенте появится пункт "Локальное меню"
3. Добавляем новое меню - указываем имя (желательно - латиницей, с русским - не тестировал, но поидее должно работать), выбираем страницы, которые нужно отобразить в меню, сохраняем.
4. в папке templates модуля создаем файл шаблона для меню (там есть 3 примера, все параметры можно посмотреть в коде)
5. в свой шаблон добавляем вызов модуля:
{cms_module module='menu_simple' name='здесь_имя_которое_вы_задали' template='здесь_название_шаблона'}
например,
{cms_module module='menu_simple' name='top_menu' template='menu_simple_top.tpl'}
после этого поидее все должно работать для одного уровня. (см. шаблон menu_simple_top.tpl)
6. Для редактирования иерархии нужно нажать на значек между редактированием и удалением. В появившемся окне - много ворнингов - не пугаться... Нажать на ссылку refresh - сформируется первоначальное меню, в котором можно независимо от основной структуры - выстраивать свою иерархию... Тоесть, если вы измените основную иерархию - здесь ничего не поменяется, как и порядок вывода...
Какие основные данные доступны в шаблоне для элемента (не все):
1. text - это берется из основной иерархии - текст для меню
2. url - адрес
3. level - текущий уровень в иерархии
4. prev_level - предыдущий уровень в иерархии
Приложеный файл - это rar - архив - не пугаться, просто архивы нельзя прикреплять
