A Drupal menürendszere

A hook_menu() kampó megvalósításai elérési címeket jegyeznek be, megadva azok kezelőfüggvényeit, jogosultság értékeit, és megjelenítési adataikat.

Paraméterek

$may_cache Logikai érték, mely azt jelzi, hogy a visszaadott elemeink a gyorsítótárba kerülnek-e. A menü gyorsítótára felhasználófüggő, tehát az elemeket szinte mindig gyorsítótárazhatjuk, kivéve ha a felhasználó aktuális helyzetétől függnek. A node_menu() megvalósításában láthatunk példát olyan elemre, amit nem szabad gyorsítótárba tenni.

Visszatérési érték

Elérési címek tömbje. Minden elem egy asszociatív tömb, ami a következő kulcs-érték párokat tartalmazhatja:

  • "path": kötelező. Az az elérési cím, melyhez a további jellemzők tartoznak.
  • "title": kötelező. Az elérési címhez tartozó felirat. Ez jelenik meg a menüben illetve a fülön, valamint az ezen a címen előállított oldalnak is ez lesz az alapértelmezett címfelirata.
  • "callback": A címhez rendelt kezelőfüggvény. Ha nem addjuk meg, a szülő menüelem kezelőfüggvénye kerül majd meghívásra.
  • "callback arguments": Tömb, melyben a kezelőfüggvénynek átadandó paraméterek vannak.
  • "access": Logikai érték. A felhasználó erre a címre vonatkozó elérési jogosultságát adja meg. Általában a user_access() meghívásának segítségével dől el. Ha ez és a "callback" is hiányzik, akkor a szülő által meghatározott jogosultság érvényes.
  • "weight": Egész szám. A megjelenő menüelemek helyzetét dönti el, a nehezebbek lesüllyednek. Az alapértelmezés 0. Ha nem vagyunk biztosak magunkban, akkor ezt ne addjuk meg. Az alapértelmezett alfabetikus sorrend sokszor megfelelő.
  • "type": Jelzőkből álló bitmaszk. A menüelem tulajdonságait írja le. Sokféle bitmaszkhoz van rövidítésnek konstans definiálva a menu.inc fájlban:
    • MENU_NORMAL_ITEM: Közönséges menüelem, ami megjelenik a navigációs menüben. Az adminisztrátor mozgathatja vagy elrejtheti a menü modullal.
    • MENU_ITEM_GROUPING: Az elemcsoportokat olyan oldalak használják, mint a tartalom beküldése, amelyek egyszerűen aloldalakat sorolnak fel.
    • MENU_CALLBACK: Olyan elérési címet hoz létre, mely nem jelenik meg a menüben, de meghívásakor teljes értékű elérési címként viselkedik.
    • MENU_DYNAMIC_ITEM: A dinamikus menüelemek gyakorta változnak, és nem szabad eltárolni őket a testreszabást lehetővé tevő menü modul számára.
    • MENU_SUGGESTED_ITEM: Az ilyen menüpontok alapértelmezésben nem jelennek meg, de a menü modullal láthatóvá tehetőek.
    • MENU_LOCAL_TASK: A helyi feladatok fülként jelennek meg alapértelmezésben.
    • MENU_DEFAULT_LOCAL_TASK: Minden helyi feladatcsoporthoz kötelezően tartozik egy alapértelmezett feladat. Különlegessége, hogy nem az aktuális, hanem a szülő útvonalára vezet.

    Ha nem adjuk meg a típust, akkor a rendszer a MENU_NORMAL_ITEM érteket feltételezi.