navigation addon, how to riesenie

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

implementoval som si addon Navigation ale neviem ako presne vyriesit tento problem:
mam tovarnicku:

<?php
protected function createComponentNavigation($name) {
	$navigation = new \Navigation\Navigation($this, $name);
	foreach ($navigationData as $item) {
		$navigationItme = $navigation->add($item->title, $this->link($item->link))
				->setAsCurrent(/* co mam dat sem? */);
	}
}
?>

do premennej $navigationData si potiahnem data s DB kt. vyzera cca takto:

title link
Atricles :Front:Article:list
Pages :Front:Page:show
  1. ako zabespecim to aby mi spravne nastavovalo setAsCurrent() ?
  2. ako ako potom v CMSku budem zobrazovat nastavenia navigacie tomu kto sa nevizna v Nette a nerozumie zapisu „:Front:Page:show“ ?

dakujem

rixi
Člen | 109
+
0
-

tiez by ma zaujimalo, ako riesit „best-practice“ s tym setCurrent, nakolko to komponenta sama nevie nastavit.

David Ďurika
Člen | 328
+
0
-

mohlo by to vyzerat nejak takto:

<?php
setAsCurrent($this->name === "Sekce" && $this->action === "default")
?>

ale neviem ze v akom formate ukladat tie data do DB aby boli edytovatelne aj neznalcom Nette…

bojovyletoun
Člen | 667
+
0
-

1: Nette\Application\UI\Presenter::backlink()

$current=$this->backlink(); //1 "Nazev:akce"
$match=NULL;
foreach($list as $item){
	//přidání položek
	$navigationItme=...;
	if($current==$item->link) $match=$navigationItme;
}
if($match) $navigation->setCurrent($match);
David Ďurika
Člen | 328
+
0
-

co je v premennej $item?