Работа с меню

Как работает меню 

Состав меню зависит от набора ролей текущего пользователя. 

Меню генерируется через хранимую процедуру as_pg_getMenuPages. Вы можете кастомизировать данную процедуру для нетипичных случаев построения меню (например, добавление динамических элементов в меню). 

Меню кешируется для набора ролей пользователя. 

Возможности меню 

  • Возможность сделать горизонтальное/вертикальное меню. Для горизонтального меню прописываем в GetLayout в bodyClass as-horizontalMainMenu
  • Отдельное служебное меню пользователя. 
  • 1 уровень вложенности
  • Иконки у элементов
  • Подзаголовки в меню
  • Возможность вставить беджи в меню
  • Возможность указывать внешние страницы
  • Открытие меню на смартфоне движением пальца вправо + меню на смартфоне открывается справа (для удобства работы большим пальцем правой руки). 
  • Отдельное служебное меню пользователя. Открывается справа вверху. Настраивается в SELECT 4 в GetLayout
  • Дополнительное горизонтальное меню. Настраивается в SELECT 2 в GetLayout (также в SELECT 1 GetLayout должен быть прописан вывод данного меню)

Настройка меню 

Меню формируется на основе страниц, у которых проставлен признак В меню.  Также в настройках страницы можно задать порядок (на каком месте стоит в меню), родителя, предзаголовок и иконку. Подробнее.

ВАЖНО. Не забывайте чистить кеш при обновлении настроек cтраницы для просмотра изменений. 

Управление меню происходит на странице /menu. Здесь выводятся все страницы с признаком В меню, а также список статичных элементов меню (таблица as_menu).

HowTo по меню

1. Внедрить динамические элементы в меню - кастомизируйте as_pg_getMenuPages

2. Сделать левое меню неподвижным  - прописываем в GetLayout в bodyClass as-stickyLeft

3. Убрать возможность движением пальца открывать меню в мобильных устройствах - прописываем в GetLayout в bodyClass as-disableSlideoutMenu

4. Добавить дополнительную ссылку в меню - в /menu добавить среди статичных страниц новую страницу (название, url, паттерн выделения, роль и др.) и почистить кеш

5. Как сделать JS коллбек загрузки меню

6. Как настроить дополнительное небольшое меню внизу экранов смартфонов

7. На мобильном устройстве меню открывается по свайпу влево. Иногда это мешает (например, используется карусель или другой элемент с горизонтальным скроллингом). В этом случае необходимо использовать атрибут data-slideout-ignore, который указывает игнорировать свайп на этом элементе для открытия основного меню. 

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Сайт использует Cookie. Правила конфиденциальности OK