Navigation addon je v basepresenteru. Jak upravovat v ostatnich presenterech

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
simPod
Člen | 383
+
0
-

Kazdy muj prezenter extenduje BasePresenter

do BasePresenteru jsem pridal komponentu Navigation

<?php
 function createComponentNavigation($name) {
            $nav = new Navigation($this, $name);
            $nav->setupHomepage("Homepage", $this->link("Homepage:"));
            $items = $nav->add("Items", $this->link("Items:"));
   }
?>

Je nejaka moznost napr. v prezenteru ItemsPresenter nebo primo v template Items:default nastavit navigaci aktivni polozku pomoci setActive() nebo pridavat polozky jen pro ItemsPresenter/Items:xxx. Jde mi o to, abych mohl zakladni strukturu navigace menit globalne v BasePresenteru a nemusel vytvaret stejne navigace s modifikacemi pro dany presenter napric vsemi presentery

Dekuji

22
Člen | 1478
+
0
-

Moc nerozumím oztázce, ale komponentu si můžeš kdekoliv později vytáhnout přes:

$component = $this->getComponent('component');
//nebo
$component = $this['component'];

a dále komponentu modifikovat..

Jinak mám pocit, že komponenta má metodu setCurrent(), ale nevím, k čemu slouží, nepoužívám tento doplněk, takže si projdi kód komponenty, přepokládám, že aktivní položce menu se snad nějaká třída nastavuje automaticky.

<ot>
Tohle patří do vlákna komponenty, kterou tady většina komponent má.. jen pro pořádek.
</ot>

simPod
Člen | 383
+
0
-

ano, ma setCurrent(), ale nevim, jak ji z jineho presenteru zavolat a dat mu hodnotu promenne z BasePresenteru

presunul jsem se do vlakna komponenty, dik