Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
site:for-user:susanin:manager:menu [2019/03/31 08:41] usov [Изменение порядка меню] |
site:for-user:susanin:manager:menu [2020/09/24 09:42] (текущий) |
||
|---|---|---|---|
| Строка 58: | Строка 58: | ||
| ---- | ---- | ||
| - | ==== Изменение порядка меню ==== | + | ==== Сложные ссылки с параметрами ==== |
| - | Чтобы сдвинуть пункт меню выше или ниже по иерархии - нажимайте на **синие стрелочки** напротив пункта меню. | + | При создании пункта меню **не пытайтесь** писать сложную ссылку типа |
| - | Передвижение происходит по данному слою, т.е. если вы двигаете подпункт меню, он будет двигать только внутри своего родительского пункта | + | {{:site:for-user:susanin:manager:pasted:20190331-084408.png}} |
| - | {{:site:for-user:susanin:manager:pasted:20190331-084039.png?500}} | + | в поле **"Ссылка"** для этого **есть специальные поля** и работают они следующим образом: |
| - | ---- | + | {{:site:for-user:susanin:manager:pasted:20190331-084633.png?600}} |
| - | ==== На что обратить внимание ==== | + | * **Параметры адресной строки для юрл(1)** - перечисляем параметры ссылки (то что идет после ? в ссылке) **через &** (например: user=5&post=2) |
| - | + | * **Параметры адресной строки для активации(2)** - то же самое, работает для определения активности пункта меню (менять **ТОЛЬКО** если пункт меню нужно подсвечивать в других особых случаях) | |
| - | * Ссылка в элементе массива **url** вначале **имеет слэш** //(/controller/action)//, а в элементе **active слэша нет** //(controller/action)// | + | |
| - | * если ссылка меню сложная и имеет **GET** аргументы (параметры) в url адресе, то элементы массива **url** и **active** изменяются. Теперь они не строкового типа - а массивы. с первым элементом понятно, он сохранился строковым как и раньше, но в случае с **url** у нас массив имеет первый элемент:String ссылку а **ПОСЛЕДУЮЩИЕ** arg => value, а в массиве **active** у нас всего два элемента, первый так же String, а **ВТОРОЙ - МАССИВ** с arg => value | + | |
| - | + | ||
| - | //Для примера:// | + | |
| - | * <code php>["url" => "/controller/action", "firstArg" => 10, "secondArg" => "view"]</code> | + | |
| - | * <code php>["active" => "controller/action", ["firstArg" => 10, "secondArg" => "view"]]</code> | + | |
| ---- | ---- | ||
| - | ==== Основные методы ==== | ||
| - | * <code php>public static function getMenuByType($type) // возвращает меню из базы в serialize формате для определенного типа пользователя</code> | ||
| - | * <code php>public static function renderTopMenu($arrTopMenuLinks) // возвращает html код верхнего меню по массиву ссылок из параметров приложения</code> | ||
| - | * <code php>public static function createMenuFromBase($menu, $nowPage, $nowParams) // возвращает меню в виде айтемов для виджета меню</code> | ||
| - | |||
| - | ---- | ||