Lucrăm cu meniul în drupal 7

Pagina personala shra, freelancer blog, dezvoltator web in PHP. Aici împărtășesc experiența și gândurile mele, fac experimente pe oameni, colectez dovezi intangibile ale prostiei mele. Utilizând eșantioane de cod din acest site, vă asumați întreaga responsabilitate pentru posibilele consecințe ale utilizării acestora, inclusiv asupra sănătății dvs. mintale și asupra intereselor terților.







Blog / drupal / Lucrul cu meniul în drupal 7

Articolul va aborda sistemul de meniuri din Drupal, câteva module utile și exemple de programare. Deși vom vorbi despre Drupal 7, și sunt pregătite exemple pentru această versiune, dar multe vor fi relevante pentru "șase".

Modulul de meniu este o parte a drupalului. Subsistemul meniului este bine integrat și gândit. Drupal are o întreagă bibliotecă de funcții pentru a lucra cu arborele de meniu, întregul API. O vom atinge puțin în exemple.

Cum este meniul din Drupal

Putem crea obiecte de meniu sub forma unui arbore de link. Adâncimea maximă a copacului este 9.

Dacă deschidem pagina de administrare (/ admin / structure / menu), atunci vor fi deja create mai multe obiecte în lista de meniuri.

Lucrăm cu meniul în drupal 7

  • Meniul principal este conceput pentru a afișa elementele de meniu, link-urile de navigare pe site-ul front-end.
  • Gestionare - conține elemente de meniu pentru administrarea site-ului
  • Navigare - include toate obiectele de meniu declarate în module (când se utilizează un nume de hook)
  • Meniul utilizatorului - conține link-uri referitoare la profilul utilizatorului, inclusiv legătura Deconectare.

Paine de paine, pesmet in Drupal

Vorbind despre meniu în drupal, nu puteți ignora un astfel de element al sistemului, cum ar fi crusta de paine. Acest element este de obicei conectat la șablon sub forma următoarei variabile:

Este o secvență de linkuri din ierarhia curentă a meniurilor create. Ie dacă pagina curentă a site-ului este declarată un element dintr-un anumit meniu - atunci veți obține un set de linkuri de la rădăcina arborelui la elementul care se referă la această pagină. Rădăcina arborelui de meniuri este pagina principală.







Variabila $ breadcrumb din șablon este cod HTML, nimic nu se poate face în legătură cu acesta. Dar puteți folosi hook_menu_breadcrumb_alter. Pentru a programa corecțiile necesare înainte de a face răsuflarea.

Meniul Admin în Drupal

În cea de-a șaptea versiune, meniul administratorului modulului este adăugat la kernel, pentru ierarhia căruia este utilizat gestionarea arborelui de meniu. Funcționalitatea sa este similară cu meniul Administrare. pe care le folosesc pentru proiecte în Drupal 6. Această terță parte modul pare mai confortabil și funcțional, dar sub 7koy prefer construit-in, ca Nu-mi place să supraîncărc proiecte cu module 3d.

Utilizatorul cu drepturile corespunzătoare primește meniul de administrare ca o bară orizontală neagră în partea superioară a ecranului.

Module utile pentru modulele 3D asociate sistemului de meniuri

Modulul vă permite să creați blocuri cu meniuri derulante cunoscute în interfața grafică a sistemului de operare. Ie Când plasați cursorul un element de meniu care conține subpoziții, va fi afișat un strat cu elemente din următorul nivel de meniu și așa mai departe.

Pentru fanii de a crea un meniu pe dicționare (taxonomie), există și module speciale - Taxonomy Menu, Nice Taxonomy Menus.

Dacă nu aveți nevoie de puterea iadului pathauto (și el are o mulțime de opțiuni și oportunități), puteți citi cum se face un cuplu de funcții proprii pentru a genera nodurile de cale alias în Drupal.

Meniu convorbire - adăugați elemente la navigarea Drupal

Indiciu la meniu vă permite să setați propriile elemente modulului în navigarea site-ului și manipulanții lor. Iată un mic exemplu din modulul mymodule.

Elemente de meniu API Drupal

A fost o idee de a descrie anumite funcții și exemple de lucru cu ei. Dar dacă te uiți la fișierul de punere în aplicare API-ul Drupal meniul (/includes/menu.inc), care, în Drupal 7 conține aproape 4000 de linii, devine clar că acest lucru nu este o sarcină pentru articol și pentru întregul manual. Merită să găsești un pic de timp pentru a naviga prin fișierul API specificat dacă intenționezi să lucrezi cu Drupal.

Cu toate acestea, merită menționat câteva funcții utile și simple.

funcția menu_tree ($ name_name)

Funcția va reveni asupra arborelui de meniuri, al cărui nume de sistem ați specificat, sub forma unui matrice pentru funcția de redare drupal - drupal_render (). Aceasta este o funcție utilă pentru scrierea propriului cod pentru modificarea meniului în drupal. Arborele se bazează pe pagina activă curentă, bazată pe calea curentă (url). Elementele copacului conțin marcatori ai paginii active și a miezurilor de pâine.

Consultați de asemenea - ieșirea nivelului de meniu dorit. pe care am scris-o pe baza codului pentru această funcție. Exemplul a fost scris pentru Drupal 6.

funcția menu_tree_all_data ($ meniu_name, $ link = NULL, $ max_depth = NULL)

Această funcție vă permite să returnați întregul arbore al meniului. Pentru redarea cu ajutorul drupal arborele primit ar trebui să fie condus prin menu_tree_output ($ tree).







Articole similare

Trimiteți-le prietenilor: