Konfigurace menu na stránce
- greeny
- Člen | 405
Zdravím, dělám stránky s několika menu (vlevo na stránce hlavní navigace, uprostřed nahoře uživatelské odkazy, pod tím drobečková navigace,…)
Vzhledem k tomu, že většina jich je založena na stejném stromu stránek, chci si někde moct to menu nakonfigurovat (pomocí .neon)
Mám 2 dotazy:
- patří toto do hlavního config.neon, nebo si mám vytvořit třeba menu.config.neon, do kterého dát jen to menu?
- pro oba případy, jak se dá dostat k těm hodnotám z configu? (přistupuju k nim z komponenty)
Předem děkuju za každý názor
- Nox
- Člen | 378
2. V továrničce předáš přes konstruktor (nebo setter) příslušnou část parametrů (ono menu) komponentě
1. Nejsem si jistý jestli toto vůbec patří do konfigu, i když jako úplně špatně mi to zase nezní, nevim. Jestli to mít v hlavním nebo v jiným, to je hlavně záležitost čitelnosti a nechal bych to na tom, jak to vidíš sám/tvůj tým. Ale osobně mi přijde dobrý nápad dát to zvlášť, když už
- ViPEr*CZ*
- Člen | 817
Nakonfigurovat menu? Myslíte jako položky menu zapsat do nějakého konfiguráku a pak je vykreslovat v šabloně?
greeny napsal(a):
- pro oba případy, jak se dá dostat k těm hodnotám z configu? (přistupuju k nim z komponenty)
Přistupuju k nim z komponenty… tak kde je problém? :-) Ale i kdyby přece, tak tady to by mohlo pomoci: https://doc.nette.org/cs/configuring
- greeny
- Člen | 405
Možná jsem se nevyjádřil zrovna nejlíp…
Moje představa je takováto:
// config.menu.neon:
menu:
homepage:
target: "Homepage:default"
text: "Hlavní stránka"
...
Z tohoto by se vygenerovalo menu (potřebuju tam hromadu isCurrent pro CSS a rozbalovací menu – nechce se mi to psát všechno ručně)
Mám:
- v @layout.latte: {control menu}
- v BasePresenter.php: createComponentMenu(){ … }
- a teď potřebuju v Menu.php udělat něco jako:
$config=parseConfig('config.menu.neon'); // vrací pole
Jen nevím, jaká na to existuje funkce, jestli nějaká…
// EDIT po projití si odkazu jsem našel Rozšíření pro kontejner , tak snad mi pomůže :D
Editoval greeny (1. 11. 2012 19:42)