- Адаптировал: irbees2008
- Уровень сложности исполнения: это делается простым копированием и нажиманием кнопки
![]()
Плагин XMenu предоставляет профессиональное решение для управления меню на вашем сайте с использованием TWIG-шаблонов, включая поддержку как категорий новостей, так и статических страниц. В разделе конфигурации вы увидите таблицы всех категорий и статических страниц сайта. Для каждого элемента можно указать, в каких меню он должен отображаться: Каждый столбец соответствует номеру меню (от 1 до 9). Для вывода меню используйте TWIG-функцию callPlugin(): Плагин ищет шаблоны в следующем порядке: Плагин XMenu предоставляет полный контроль над отображением меню через мощную TWIG-систему, позволяя создавать меню любой сложности с минимальными затратами ресурсов.Описание плагина
Основные возможности:
Установка плагина
Поместите папку плагина в директорию:/engine/plugins/
В административной панели перейдите:Настройки → Плагины → XMenu → Активировать
После активации перейдите:Настройки → XMenu → КонфигурацияНастройка плагина
Привязка элементов к меню
Дополнительные настройки
Настройка Описание Значения Источник шаблонов Определяет, откуда загружать TWIG-шаблоны
- из шаблона сайта0
- из папки плагина1Кеширование Включает/выключает кеширование меню
- включено1
- выключено0Время жизни кеша Определяет период актуальности кеша (в секундах) По умолчанию:
(1 час)3600Показывать статические страницы Включает отображение статических страниц в меню
- да1
- нет0Использование в шаблонах
{{ callPlugin('xmenu.show', {
menu_id: 1, // Обязательный параметр (1-9)
template: 'custom_menu', // Необязательно (по умолчанию 'xmenu')
show_news: 1, // Необязательно (1 - показывать кол-во новостей)
show_static: 1, // Необязательно (1 - показывать статические страницы)
debug: 0 // Необязательно (1 - включить режим отладки)
}) }}Параметры вызова:
Параметр Обязательный Значение по умолчанию Описание menu_idДа - Номер меню (от 1 до 9) templateНет xmenuИмя используемого шаблона show_newsНет 1Показывать количество новостей (0 - нет, 1 - да) show_staticНет 1Показывать статические страницы (0 - нет, 1 - да) debugНет 0Режим отладки (0 - выключен, 1 - включен) Шаблоны меню
/templates/ВАШ_ШАБЛОН/plugins/xmenu//engine/plugins/xmenu/tpl/Стандартный шаблон (xmenu.tpl)
<ul class="xmenu menu-{{ menu_id }}">
{% for item in items %}
<li class="{{ item.type }} {{ item.active ? 'active' : '' }}">
<a href="{{ item.url }}" title="{{ item.name }}">
{{ item.name }}
{% if item.type == 'category' and show_news and item.news_count > 0 %}
<span class="news-count">({{ item.news_count }})</span>
{% endif %}
</a>
</li>
{% endfor %}
</ul>
<style>
.xmenu .static { color: #4a6ea9; }
.xmenu .category { color: #333; }
.xmenu .active { font-weight: bold; }
.news-count { font-size: 0.8em; color: #666; }
</style>Доступные переменные в шаблонах
Переменная Тип Описание itemsarray Массив элементов меню items[].typestring Тип элемента (
или category
)staticitems[].idint ID элемента items[].namestring Название элемента items[].urlstring URL элемента (генерируется автоматически) items[].activebool Активен ли текущий элемент items[].news_countint Количество новостей в категории (только для type=category) items[].alt_namestring Альтернативное имя (только для type=static) menu_idint ID текущего меню show_newsbool Флаг отображения количества новостей show_staticbool Флаг отображения статических страниц tpl_urlstring Путь к папке с шаблонами Примеры использования
1. Простое меню с категориями и статикой
{{ callPlugin('xmenu.show', {menu_id: 1}) }}2. Меню только со статическими страницами
{{ callPlugin('xmenu.show', {
menu_id: 2,
show_news: 0,
show_static: 1
}) }}3. Меню с кастомным шаблоном
{{ callPlugin('xmenu.show', {
menu_id: 3,
template: 'custom_menu'
}) }}4. Меню только с категориями
{{ callPlugin('xmenu.show', {
menu_id: 4,
show_static: 0
}) }}Рекомендации
) для выявления проблемdebug: 1
и .static
в CSS.category
Скачать :Вы не можете скачивать файлы с нашего сайта ,рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Можешь почитать и вот эту статейку "С днем ВЕБ-ДИЗАЙНЕРА"

