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.
$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.
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.