Persistentní parametry v komponentě nefungují

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

Dobrý den

Mám nasledující kód:

<?php

class FilterControl extends Control {

    private $database;
    private $form;

    /** @persistent */
    public $page = 1;


	public function renderDefault(){

		$this->page=44;
		//...
	}


}
?>

V dokumentaci je jasně napsáno že parametr $page by měl být persistentní. Funguje to ale tak, že pokud vložím za url …?filter-page=4 je v proměnné $page skutečně 4. Jakýkoli link ale v sobě paramter filter-page nemá.

Nejblíže jsem našel tuto diskusi..

naplnění persistentního odkazu

…ta ale končí tím, že to jednoduše nefunguje, tedy chová se to jako výše popsané.

Dotaz tedy je, zda je možné toto nějak elegantně rozchodit, a nebo mít persistentní parametry výhradně v presenterech.

Děkuji za jakoukoli radu

Zdeněk

Editoval ZdenekSk (15. 8. 2017 15:15)

David Matějka
Moderator | 6445
+
+4
-

Ahoj, nevim, jestli jsem spravne pochopil tvuj problem, ale mozna mas problem s tim, ze persistentni parametry kompoent se prenaseji jen v ramci odkazovani na this. Pokud bys je chtel mit persistentni napriklad i pro odkazovani mezi akcemi, dej nad presenter

/**
* @persistent(nazevKomponenty)
*/
class MyPresenter ...
ZdenekSk
Člen | 2
+
0
-

Huráá

To je přesně ono.

Děkuji mnohokráte

Zdeněk