ПредишенСледващото

SHRA лична страница, блог frilensera, уеб разработчик в PHP. Тук споделям моите преживявания и мисли, прекарват експерименти върху хора, събират нематериален доказателство за собствената си глупост. Използването на примерен код от този сайт, Вие приемате цялата отговорност за последствията от използването им, включително и психическото си здраве и интересите на трети лица.

Блог / Drupal / Работа с менюта в Drupal 7

Документът ще бъде обсъден от менюто система Drupal, някои полезни модули и примери за програмиране. Въпреки, че ние ще се съсредоточи върху Drupal 7, а примерите са приготвени специално за тази версия, но много ще се отнася и за "шест".

модул меню - част от Drupal. меню подсистема е добре обмислен и интегрирани. Drupal е цяло библиотека от функции за работа с дървото на менюто, целият API. Ще се спра на това малко в примерите.

Как меню в Drupal

Ние можем да създадем елементи в менюто под формата на дърво на връзки. Максимална дълбочина дърво - 9.

Ако отворите страницата администрация (/ администратор / структура / меню), той вече ще бъде на няколко обекти, създадени в списъка на менюто.

Ние работим с менютата в Drupal 7

  • Главно меню е проектиран да изведете опциите в менюто, навигационни връзки на предния край сайт.
  • Управление - съдържа елементите от менюто за мястото на приложение
  • Навигация - включва всички декларирани в менюто модули (когато hook_menu използва) обекти
  • Потребителят меню - съдържа връзки, свързани с профила на потребителя, включително и връзката Изход.

Галета, галета в Drupal

Говорейки за меню в Drupal, човек не може да се игнорира този елемент от системата като трохи хляб. Този елемент обикновено е свързан с шаблон под формата на следните променливи:

Това е поредица от връзки в менюто създадена сегашната йерархия. Т.е. ако текущата страница на сайта обявен елемент от менюто - ще получите набор от връзки от корена до елемента, който се отнася към тази страница. Коренът на структурата на менюто е на главната страница.

променлива Шаблонът за $ галета - това е HTML, с него няма какво да се направи. Но можете да използвате hook_menu_breadcrumb_alter. За да програмирате необходимите корекции, за да направи трохи.

меню Admin в Drupal

Във версия 7, модул на ядрото добавена към менюто администратор, който се използва за йерархия дървото меню управление кранови. Нейната функционалност е подобна на менюто администрация. който да използвам за проекти в Drupal 6. Тази трета страна модул изглежда по-удобно и функционално, но под 7koy аз предпочитам да го вграден, като Не обичам да се претовари проекти 3d част модули.

Потребител с администраторски привилегии подходящи получава менюто под формата на черни хоризонтални ивици в горната част на екрана.

Полезни 3d част модули, свързани със системата за меню

Модулът позволява да създадете блокове с падащи менюта, познати ни в графичния интерфейс на операционната система. Т.е. като посочите върху елемента от менюто, съдържащ подслой с елементите на следващото ниво на менюто ще се появи, и т.н.

За любителите на създаване на речник (таксономия), менюто също има специални модули - Таксономия на менюто, Ница Таксономия менюта.

Ако нямате нужда от силата на ада pathauto (и той има много опции и възможности), можете да прочетете как да го направите няколко собствени функции за генериране на псевдоним пътя възли в Drupal.

Hook меню - добавяте елементи към Drupal навигация

Clue към менюто ви позволява да зададете вашите собствени модулни елементи в навигацията на сайта и техните манипулатори. Ето един пример на mymodule на модула.

меню елементи API Drupal

Имаше идея да се опише това, което отделните функции и примери за работа с тях. Но ако се вгледате в изпълнение на API на Drupal меню (/includes/menu.inc), който в Drupal 7 съдържа близо 4000 линии файла, става ясно, че това не е задача за статията и за цялото ръководство. Тя трябва да намери време, за да гледам през API даден файл, ако искате да работите с Drupal.

Въпреки това, някои полезни и прости функции заслужава да се спомене.

функция menu_tree ($ MENU_NAME)

Ще се върне структурата на менюто, името на системата, който сте посочили като функция масив да оказват Drupal - drupal_render (). Това е удобна функция, за да напишете своето собствено меню промяна на кода в Drupal. В този случай, дървото е изграден въз основа на текущия активен страницата, на базата на текущия път (URL). дървени елементи съдържат маркери за активна страница и галета.

Вижте също - представяне на желаното ниво на менюто. Написах на базата на кода на функцията. Един пример е написана за Drupal 6.

функционални menu_tree_all_data ($ MENU_NAME, $ връзка = NULL, $ max_depth = NULL)

Тази функция ви позволява да възстановите пълното дърво меню. Оказване означава Drupal резултат дърво трябва да гони чрез menu_tree_output ($ дърво).

Свързани статии

Подкрепете проекта - споделете линка, благодаря!