- Фреймворк, версия >=2.0
- Версия PHP >=7.4
![]()
Несмотря на то, что приложение совместимо со старой версией PHP 7.4, рекомендуем использовать его на системах с PHP 8.0 для более быстрой и стабильной работы
С помощью приложения вы можете создать и настроить различные меню для фронтенда вашего сайта.
Задать структуру нового меню можно при помощи простого визуального редактора. Автоматическая генерация ссылок на отдельные разделы сайта (например, категории магазина), доступна при помощи устанавливаемых плагинов.
После создания структуры вы можете протестировать её в разделе "Информация".
Установка меню на сайт
Если ваша тема дизайна не поддерживает приложение по умолчанию, то вам потребуются базовые знания HTML-вёрстки, чтобы модифицировать шаблоны.
При помощи следующего кода можно получить массив элементов определённого меню. Обратите внимание, что $menu_id — это ID определённого меню.
, $user_id - это ID пользователя.{$user_id = $wa->user("id")}
{$items = $wa->menu->get($menu_id,$user_id)}
или
{$items = $wa->menu->get($menu_id,$wa->user("id"))}
Следующий шаг — создать HTML структуру вашего меню. Самый простой способ это сделать — использовать функцию wa_print_tree, которая выведет вложенную структуру UL списков:
{wa_print_tree tree=$items elem='<a href=":url" class=":class" id=":element_id">:name</a>'}
Немного более продвинутый способ — использовать циклы Smarty, например foreach.
<nav class="menu">
{* цикл по элементам верхнего уровня *}
{foreach $items as $item}
<div class="menu-item">
{* отрисовка ссылки *}
<a href="{$item.url}" {if $item.class}class="{$item.class}"{/if} {if $item.element_id}id="{$item.element_id}"{/if}>{$item.name}</a>
{* у элемента могут быть вложенные элементы *}
{if !empty($item.childs)}
<div class="menu-item-childs">
{* цикл по элементам второго уровня *}
{foreach $item.childs as $child}
<div class="menu-item-child">
{* отрисовка ссылки *}
<a href="{$child.url}" {if $child.class}class="{$child.class}"{/if} {if $child.element_id}id="{$child.element_id}"{/if}>{$child.name}</a>
{* далее могут быть ещё вложенные элементы: {$child.childs} и т.д. *}
</div>
{/foreach}
</div>
{/if}
</div>
{/foreach}
</nav>
Кэширование
В приложении используется кеш для снижения нагрузки на сервер. Вы можете изменить время жизни кеша на странице настроек.
По умолчанию используется файловый кеш. Но следуя этому руководству вы можете изменить настройки кэша вашего Webasyst:
https://developers.webasyst.ru/features/cache/
Параметр "Цель"
Для каждого пункта меню вы можете указать цель - к примеру, открывать на новой вкладке. Обратите внимение, для того чтобы это работало, нужна интеграция с темой дизайна. Если ваш шаблон не поддерживает этот пункт, вам нужно самостоятельно при выводе ссылки добавить код вида:
{if $link.target}target="{$link.target}"{/if}
Пример:
{if count($pages)}
{foreach $pages as $p}
<div class="footer-menu__item">
<a class="footer-menu__link" href="{$p.url}" {if $p.target}target="{$p.target}"{/if}>{$p.name}</a>
</div>
{/foreach}
{/if}
![]()
Хотите быть в курсе новостей от Webasyst и Shop-Script, обсудить новый функционал, обменяться опытом с коллегами? Задать вопрос Независимым Разработчикам или найти Исполнителя на проект? Вступайте и пиши в крупнейшее независимое сообщество "Webasyst для всех": Телеграм чат (https://t.me/webasyst_for_all)
Welldi
5.0× 19
Тексты, меняющиеся при перезагрузке страницы сайта
от 359 ₽/месяц
-
4.7 × 159
Авто и ручная отправка email SMS клиентам
от 1 199 ₽/месяц7 дней бесплатно
-
4.2 × 30
Расширенные отзывы с доп. функционалом
от 539 ₽/месяц7 дней бесплатно
-
4.9 × 50
Отличное дополнение фильтров в категории
от 499 ₽/месяц7 дней бесплатно
-
4.7 × 155
Все виды скидок. Конструктор из 93 правил скидок
от 1 699 ₽/месяц7 дней бесплатно
-
4.8 × 20
Произвольные поля для категорий,продуктов, страниц
от 699 ₽/месяц7 дней бесплатно
-
Сортировка товаров по приоритету и не только
от 699 ₽/месяц7 дней бесплатно
-
4.2 × 18
Прямая ссылка для перехода к оплате в уведомлениях
1 299 ₽7 дней бесплатно
-
Кнопки на ваши маркетплейсы. Конверсия x2!
от 399 ₽/месяц7 дней бесплатно
-
3.2 × 9
Категории и фильтры без товаров не в наличии
от 499 ₽/месяц7 дней бесплатно
-
5.0 × 2
Выбирает основной артикул, показывает его картинку
от 399 ₽/месяц7 дней бесплатно
-
4.9 × 13
Удобные поля любых типов из доп. параметров
от 699 ₽1 299 ₽7 дней бесплатно
-
4.9 × 9
Плагин добавляет кнопки "поделиться" в блог.
499 ₽7 дней бесплатно
-
4.8 × 28
Позволяет покупателю задать вопрос о товаре.
899 ₽7 дней бесплатно
-
4.8 × 65
Стильная и функциональная форма запроса звонка.
от 359 ₽/месяц7 дней бесплатно
-
4.5 × 4
Отложенные товары с привязкой к аккаунту
от 399 ₽/месяц7 дней бесплатно
-
4.6 × 109
Быстрая покупка товаров, полноценный заказ в 1 шаг
от 799 ₽/месяц7 дней бесплатно
-
4.9 × 7
Удаляет неиспользуемые значения характеристик
от 499 ₽/месяц7 дней бесплатно
-
4.5 × 13
Плагин добавляет кнопки "поделиться" в магазин.
499 ₽7 дней бесплатно
-
4.3 × 13
Быстрый поиск и экономия места!
от 359 ₽699 ₽7 дней бесплатно
-
4.4 × 55
Конвертация в современный формат с поддержкой iOS
от 799 ₽/месяц7 дней бесплатно
-
3.9 × 18
Оптимизация JPG и PNG при помощи сервиса TinyPNG
от 399 ₽/месяц7 дней бесплатно
-
5.0 × 7
Плагин позволяет поделиться товаром в WhatsApp
от 399 ₽/месяц7 дней бесплатно
-
5.0 × 20
Добавляет случайные значения к номеру заказа.
от 699 ₽/месяц7 дней бесплатно
-
5.0 × 2
СМС рассылка по самой дисконтной цене!
1 299 ₽7 дней бесплатно
-
5.0 × 9
Причина удаления/возврата заказа в бекенде + отчёт
от 299 ₽/месяц7 дней бесплатно
-
5.0 × 1
Отправка SMS и VIBER сообщений через redsms.ru
от 999 ₽1 799 ₽7 дней бесплатно









