Работа с меню

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

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

Меню генерируется через хранимую процедуру 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

Это снижение стоимости владения

за счет меньшего количества людей для поддержки и узкого стека разработки. Про снижение стоимости владения продуктом

Это быстрое внесение изменений

по ходу эксплуатации программы. Как создается функционал на платформе

Это простой удобный интерфейс

адаптация под мобильные устройства. Про юзабилити платформы