Это старая версия документа!
Главная → Пользователю Сусанина → Инструкции Редакторам → Боковое меню
Боковое меню
Краткое описание
В системе предусмотрена возможность отображать разные пункты левого меню для каждого из типов пользователей, в левом меню сверху написан тип пользователя (1) под которым произведен вход:
Меню способно отображать один уровень вложенности, верхние ссылки обладающие вложенными элементами имеют стрелочку справа (3), а развернутый пункт меню выглядит как под номером (2)
Создание пункта меню
Создание верхнего пункта меню
Для создания верхнего пункта меню необходимо выбрать для какого типа пользователя создается пункт и нажать на ссылку «Добавить пункт верхнего уровня»
Для примера сделаем пункт меню со ссылкой на создание новой заявки:
На этот адрес должен вести пункт меню
И так, в окне создания пункта:
- Название(1) - Отображаемое название пункта меню
- Ссылка(2) - Ссылка, куда он должен вести (начинается со слэша)
- Активность(3) - Пункт меню будет подсвечен как активный если мы на странице с таким адресом (БЕЗ слэша в начале)
- Иконка(4) - Рядом с названием будет отображаться иконка. Список иконок (работают не все)
После нажатия кнопки «Сохранить», в меню выбранного типа пользователей будет добавлен новый пункт
Создание подпункта меню
Создание подпункта происходит точно так же как и верхнего пункта меню с той лишь разницей что кликнуть нужно на ссылку «Добавить внутрь» напротив пункта в который нужно добавить подпункт:
Удаление пункта/подпункта меню
Чтобы удалить пункт или подпункт меню необходимо кликнуть по ссылке «Удалить» напротив необходимого пункта/подпункта.
ВНИМАНИЕ: Удаление произойдет сразу (без дополнительных вопросов) и все подпункты удалятся (если удаляете пункт с подпунктами)
Редактирование пункта/подпункта меню
Почти ничем не отличается от создания, чтобы редактировать пункт меню - нажмите на ссылку «Редактировать» напротив необходимого пункта меню
Сложные ссылки с параметрами
При создании пункта меню не пытайтесь писать сложную ссылку типа
в поле «Ссылка» для этого есть специальные поля и работают они следующим образом:
- Параметры адресной строки для юрл - перечисляем параметры ссылки (то что идет после ? в ссылке) через & (например: user=5&post=2)
- Параметры адресной строки для активации - то же самое, работает для определения активности пункта меню (менять ТОЛЬКО если пункт меню нужно подсвечивать в других особых случаях)
На что обратить внимание
- Ссылка в элементе массива url вначале имеет слэш (/controller/action), а в элементе active слэша нет (controller/action)
- если ссылка меню сложная и имеет GET аргументы (параметры) в url адресе, то элементы массива url и active изменяются. Теперь они не строкового типа - а массивы. с первым элементом понятно, он сохранился строковым как и раньше, но в случае с url у нас массив имеет первый элемент:String ссылку а ПОСЛЕДУЮЩИЕ arg ⇒ value, а в массиве active у нас всего два элемента, первый так же String, а ВТОРОЙ - МАССИВ с arg ⇒ value
Для примера:
["url" => "/controller/action", "firstArg" => 10, "secondArg" => "view"]
["active" => "controller/action", ["firstArg" => 10, "secondArg" => "view"]]
Основные методы
public static function getMenuByType($type) // возвращает меню из базы в serialize формате для определенного типа пользователя
public static function renderTopMenu($arrTopMenuLinks) // возвращает html код верхнего меню по массиву ссылок из параметров приложения
public static function createMenuFromBase($menu, $nowPage, $nowParams) // возвращает меню в виде айтемов для виджета меню







