Persistentní proměnná se předává dál

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

Zdravím, řeším menší problém:
Mám například tuto routu:

$public[] = new Route('forum/zalozit/<category>', 'Forum:zalozit');

Ve forum presenteru mám:

/**
 * @persistent
 * @var integer
 */
public $category = Null;

Problémem je, že se pak ta proměnná předává do všech odkazů směřující na presenter forum, ve tvaru ?category=1.

Jde nějak oštřit, aby tomu tak nebylo, a proměnnou neodesílal?

Marek Šneberger
Člen | 130
+
0
-

Dá se to udělat tak, že nebude persistentní. Jinak řečeno, že smažeš tu anotaci @persistent.

Jarek159
Člen | 23
+
0
-

Jenže já tu proměnnou potřebuji pro Forum:zalozit mít jako persistentní

Zax
Člen | 370
+
+6
-

Nebyl by lepší parametr pro akci actionZalozit($category)? ;-)

Jan Mikeš
Člen | 771
+
-4
-

Pokud potrebujes persistentni parametr pouze pro jednu action tak muzes pouzit neco takoveho:

protected function startup()
{
	parent::startup();

	if ($this->view != "zalozit") {
		$this->category = NULL;
	}
}