Лицензия на всю компанию для своего сервера или тарифов в облаке Webasyst, в которых это приложение не включено:

4.9

37 оценок

Ваш отзыв

8300+

установок

Welldi

разработчик

21 июня 2024

последний релиз
версия 2024.06.10

Поддержка
Лицензия
Дополнительные лицензии
50% скидка
Минимальные требования
  • Фреймворк, версия >=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">:name</a>'}

Немного более продвинутый способ — использовать циклы Smarty, например foreach.

<nav class="menu">
{* цикл по элементам верхнего уровня *}
{foreach $items as $item}
<div class="menu-item">

    {* отрисовка ссылки *}
    <a href="{$item.url}">{$item.name}</a>

    {* у элемента могут быть вложенные элементы *}
    {if !empty($item.childs)}
    <div class="menu-item-childs">

        {* цикл по элементам второго уровня *}
        {foreach $item.childs as $child}
        <div class="menu-item-child">

            {* отрисовка ссылки *}
            <a href="{$item.url}">{$item.name}</a>

            {* далее могут быть ещё вложенные элементы: {$child.childs} и т.д. *}
        </div>
        {/foreach}
    </div>
    {/if}
</div>
{/foreach}
</nav>

Кэширование

В приложении используется кеш для снижения нагрузки на сервер. Вы можете изменить время жизни кеша на странице настроек.

По умолчанию используется файловый кеш. Но следуя этому руководству вы можете изменить настройки кэша вашего Webasyst:
https://developers.webasyst.ru/features/cache/

Хотите быть в курсе новостей от Webasyst и Shop-Script, обсудить новый функционал, обменяться опытом с коллегами? Задать вопрос Независимым Разработчикам или найти Исполнителя на проект? Вступайте и пиши в крупнейшее независимое сообщество "Webasyst для всех": Телеграм чат (https://t.me/webasyst_for_all)

Все продукты этого разработчика