Drupal 7: vylepšete si práci s menu a jeho administrací

V prostředí Drupalu 7 došlo k několika vylepšením administrační části. Změnila se i práce s menu a jejich položkami. Přesto je stále co vylepšovat. Mám pro vás několik tipů na moduly, které využijete u jednoduchých firemních webů i pro rozsáhlejší projekty postavené na Drupalu.

Drupal 7 zavedl několik změn v administraci, které se dotkly práce s menu. Už tu nemáme dělení na primární a sekundární menu, ale na hlavní a sekundární. Z přehledu položek v menu zmizela zaškrtávátka umožňující nastavit, zda je položka menu rozbalená nebo sbalená - nastavení najdete až při editaci konkrétní položky. Ale najde se i spousta vylepšení.

Při práci s menu v Drupalu 7 můžete využít například toho, že po vložení menu coby bloku na stránku se vám díky modulu Contextual links po přejetí přes menu objeví kontextová nabídka s možností ihned vkročit do editace menu a jeho položek. Máme tu také nástrojovou lištu pro rychlejší přístup do administrace.

Přesto k úplnému komfortu v základní administraci menu v Drupalu 7 stále pár věcí chybí. Existují pro ně doplňkové moduly, na které se nyní podíváme.

Klasika pro správce webu - Administration menu a Administration Menu select

V Drupalu 7 se objevilo nové speciální menu pro správce webu, které poskytuje základní modul Toolbar. Administrátorům se nahoře na stránce objeví černá lišta s přístupem k jednotlivým částem administrace. Pokud máte zapnutý i modul Shortcuts, přibude ještě šedá lišta, kam můžete jednoduše přidávat své vlastní odkazy do jednotlivých částí administrace. Tyto zkratky můžete dále sdružovat do různých skupin.

Jakkoli mi přijde Toolbar fajn třeba pro běžnou obsluhu webu nebo pro redaktory, tak mi jako správci webu nedostačuje. Už dlouho používám modul Administration menu, které je oproti Toolbaru rozbalitelné (a bylo tu už pro předchozí verze Drupalu). Nemusíte tedy klikat na konfiguraci a čekat, než se vám otevře stránka se seznamem odkazů v ní. V Administration menu jen najedete nad příslušnou položku a ihned se rozbalí příslušný seznam odkazů v ní.

Na druhou stranu Administration menu nejde úplně dobře použít pro běžnou práci s webem, kdy uživatel nemá potřebu vidět různé položky, ke kterým nemá přístup. Řešení? Zkombinujte na webu Toolbar a Administration menu pomocí modulu Administration Menu select, ve kterém vyberete, které uživatelské role mají přiřazen který panel administračního menu - tedy zda Toolbar nebo Administration Menu. Toto nastavení lze měnit i přímo na úrovni uživatele v jeho profilu.

Menu Expanded - rychlá úprava sbalitelnosti položek

Postrádáte možnost rychle ze seznamu položek v menu nastavit, zda jsou konkrétní položky sbalené či rozbalené? Pokud stejně jako já nechcete chodit do úpravy jednotlivých položek, nainstalujte si modul Menu Expanded. Do seznamu položek v menu vrátí zaškrtávátka, která v Drupalu 7 marně hledáme.

Menu po úpravě modulem Menu Expanded

Menu attributes aneb jak otevírat odkazy do nového okna (a nejen to)

Hodně častým dotazem, na který se sice neptáte zde ve fóru, ale píšete mi jej rovnou na mail (prosím, dávejte přednost zdejší diskuzi), je: „Jak vytvořím odkaz z menu do nového okna?". Řešení nabízí modul nazvaný Menu attributes.

Po jeho instalaci vám v editaci položky menu přibude možnost ukrýt políčko pro zadávání plovoucího titulku menu, naopak přibude možnost upravovat ID položky, atributy name, rel, class, dokonce přímo styl, cíl (tedy i to případné nové okno) a ještě možnost definice klávesové zkratky pro danou položku menu.

Ne vše musíte nutně využívat, pro administraci můžete zpřístupnit jen některá z těchto nastavení. Stačí si je vybrat v Struktura > Menu > Nastavení.

Editace cílového okna pro položku v menu Nastavení modulu Menu attributes

Menu Block vytvoří bloky s konkrétní částí celého menu

Typicky u firemních webů často řeším potřebu zobrazovat na různých stránkách jen část hlavního menu, a to takovou, která odpovídá nadřazené položce menu pro konkrétní stránku. Jinými slovy například zobrazí v levém panelu blok obsahující odkazy zanořené do první položky hlavního menu.

Tohle můžete řešit různě. Někdo sáhne po kategoriích a Taxonomy menu, jiný prostě položky menu naduplikuje, za což mu cílový uživatel webu měnící strukturu menu moc vděčný nebude. Anebo sáhnete po modulu Menu Block, zmíněné využití v něm nastavíte a jste hotovi. Co se změní v zanořených položkách hlavního menu, to se projeví i v bloku. Navíc si u něj můžete vybrat, zda zobrazí i nadřazenou položku, do jaké úrovně rozbalí vnořené položky atd.

Nastavení bloku menu s modulem Menu Block

Menu Breadcrumb pro lepší kontrolu drobečkové navigace

Drobečková navigace v Drupalu mi vždycky přišla „taková divná". Nikdy jsem nebyl schopen ji pořádně ovlivnit, přestože existuje X modulů pro její vylepšení (o tom někdy příště). Ovšem pokud správně navrhnete strukturu menu a případně využijete Menu Block, můžete dosáhnout použitelného stavu.

Drobečková navigace se totiž standardně generuje podle toho, jak je odkaz na danou stránku zanořen do navigačního menu. S pomocí modulu Menu Breadcrumb můžete říci, že toto pravidlo chcete uplatnit i pro jiná menu a s jakou prioritou. Dále zde nastavíte třeba přidávání aktuálního názvu stránky do drobečkové navigace, či její ukrytí pokud obsahuje jen odkaz na domovskou stránku.

Nastavení modulu Menu Breadcrumb

Special menu items module - neklikatelné položky a jiné

Další poměrně často dotazovanou funkcionalitou je vytvoření položek menu, které nebudou klikatelné. Proč by to někdo dělal? Například v situaci, kdy máte v hlavním menu několik rozbalovatelných položek, ale přitom nechcete pro tu nadřazenou vytvářet nějakou stránku nebo ji směřovat třeba na titulku. Ani Drupal 7 bohužel standardně nedovede vytvořit položku menu, která nemá přiřazen odkaz.

Modul Special menu items vám to dovolí a přidá navíc možnost vytvářet oddělovače v menu, pěkně to provázat na drobečkovou navigaci a vše pohodlně nastylovat díky CSS, které do upraveného menu doplní.

Tipy na další moduly pro Drupal 7 a jeho menu

Modulů pro Drupal 7, které nějak souvisejí s menu, návrhem navigace na webu a její administrací, je ještě více. Vybral jsem takové, které považuji za nejdůležitější a nejčastěji je používám. Pokud si chcete s menu opravdu vyhrát, doporučuji kouknout na projekty jako jsou Megamenu, Giga Menu, nebo asi nejlépe vypadající OM Maximenu.

A malý tip na závěr: Potřebujete do menu nahrávat obrázky? Pak určitě chcete modul Menu Icons.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Dobrý den, zrovna vyhledávám vše o menu a Váš článek přišel jako na zavolanou, díky. Když už je řeč o menu, nevíte o nějakém modulu, který umožní nahradit vybrané menu (např. u Books) dynamickým tree menu? Něco v tomto stylu: http://demo.kbpublisher.com/kb/44/

návštěvník

Díky za tip. Zkusil jsem a vypadá to celkem dobře, jen mi u tohoto modulu chybí možnost sbalení po kliknutí na nadřazenou položku, navíc bez nutnosti přechodu k dané sekci. Ještě mrknu po něčem dalším. Nicméně díky.

návštěvník

Dobrý den.

Zaujal mne Váš článek a Vaši knihu již doma také mám. Mám Drupal 7 a potřebuji do top menu dát před text ikonu či obrázek. Nicméně menu icons nefunguje. Zdfá se, že v top menu je to problém, jinde se zobrazí. Jak to řešit jednoduše?

Děkuji

Profile picture for user Jan Polzer

Myslím, že záleží na tom, jak je to menu renderované. Máte třeba něco jako blok, kdežto jiné přímo v šabloně?

návštěvník

Dobrý den,

mám problém s modulem menu icons: icony se nezobrazují (a to ani v main menu nebo jiném vytvořeném menu). Dále bych se rád zeptal, zda jemožné vytvořit odkaz bez napisu, aby v menu byla jen ikona a ne i nazev.

Děkuji

 

Profile picture for user Jan Polzer

Já modul Menu icons už dlouho nepoužil, ale myslím si, že je problém v tom, že menu vykreslujete nějakým voláním v šabloně a tento modul chce blok s menu vložený do nějakého regionu. Podobně jako Superfish, Nice menus a další.

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru