site:for-user:susanin:manager:menu

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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>​ 
- 
----- 
  • site/for-user/susanin/manager/menu.1554021684.txt.gz
  • Последние изменения: 2020/09/24 09:42
  • (внешнее изменение)