Menüpont nélküli Drupal oldalhoz aktív „szülő” menüpont(ok) hozzárendelése

2012. Apr. 17. · 2 min read

Gyakori feladat, hogy bizonyos típusú tartalmakat rendeljünk hozzá a webhely főmenüjének meghatározott eleméhez. Pl. ha egy konkrét hírt olvasok, akkor a „Hírek” menüpont – ami egyébként a híreket listázó oldalra mutat – legyen aktív. A legegyszerűbb megoldás erre nyilvánvalóan az lenne, hogy minden egyes hír kap egy saját menüpontot, aminek szülő eleme a „Hírek”. Ez azonban teljesítmény és felhasználóbarátság szempontjából sem jó ötlet.

A Drupal 7 alaprendszere nem kezeli ezt a problémát, azonban a közösségi kiegészítő modulok közt több jelölt is akad. Én a Menu position-t választottam, ennek használatát mutatom be röviden.

Új szabályt egy egyszerű űrlap használatával hozhatunk létre (/admin/structure/menu-position/add), amin a szabály nevét, a szülő menüpontot és a megjelenési feltétel(eke)t kell megadnunk. Ez utóbbiakat a következő lehetőségek közül választhatjuk ki: tartalomtípus, oldal (útvonal), szerepkör, nyelv, taxonómia (szótár vagy szótár és kifejezés). A feltételeket kombinálhatjuk is, ez esetben csak akkor lesz aktív a kiválasztott menüpont, ha minden feltétel teljesül. (Kóderek további feltétel-lehetőségeket is alkothatnak, amiket plug-in-ként adhatnak hozzá a modulhoz.)

[![Menu position szabály hozzáadása](../../uploads/2012/04/menu-position-rules-300x177.jpg "menu-position-rules")](https://thamas.hu/wp-content/uploads/2012/04/menu-position-rules.jpg)
Menu position szabály hozzáadása

A meglepetések elkerülése érdekében érdemes figyelni arra, hogy a modul – alapbeállításai szerint – elhelyezi az aktuális oldal címét a szülő menüpont alá almenüpontnak. Ezt szerintem érdemes kikapcsolni.

További beállítási lehetőség, hogy a közvetlen szülő menüpont kapjon-e “active” class-t is az “active-trail” mellé. (Az “active-trail” class-t minden szülő menüpont megkapja – erről szól a modul működése… :o))

[![Menu position beállítások](../../uploads/2012/04/menu-position-settings-300x108.jpg "Menu position beállítások")](https://thamas.hu/wp-content/uploads/2012/04/menu-position-settings.jpg)
Menu position beállítások

A hab a tortán, hogy a Menu position a menüpontok „aktivizálása” mellett a megfelelő morzsamenüt is létrehozza! (Amit – ha mégsem lenne megfelelő valamiért – felülírhatunk pl. Custom breadcrumbs-zal.)

[![A Menu position működése](../../uploads/2012/04/menu-position-mukodes-300x210.jpg "A Menu position működése")](https://thamas.hu/wp-content/uploads/2012/04/menu-position-mukodes.jpg)
A Menu position működése

Egyéb lehetőségek

Persze a Menu position csak az egyik a lehetséges eszközök közül. Én keresés közben pl. az alábbi modulokat találtam még:

További tippeket, észrevételeket, tapasztalatokat örömmel várok hozzászólásként.