Výchozí hodnota persistentního parametru načtená z modelu
- Blizzy
- Člen | 149
V dokumentaci je následující:
/** @persistent int */ public $page = 0;
Pokud aplikace přijme request, kde je tato výchozí hodnota zadána, provádí se redirect (index.php?page=0 → index.php) z důvodu SEO optimalizace.
Co když chci výchozí hodnotu parametru $page
načíst
z modelu (kde je například uložen identifikátor výchozí stránky) a
nechci ho zadávat natvrdo v presenteru?
- Jan Tvrdík
- Nette guru | 2595
Zkus ji nastavit ve startup nebo action fázi.
Editoval Jan Tvrdík (1. 8. 2009 19:25)
- pmg
- Člen | 372
Svého času nějak zapadl request na čtení výchozího typu proměnné primárně z anotace. V současné době se hodnota přetypuje na typ výchozí hodnoty, což nemusí být ono.
Možná to ale nikomu dalšímu neschází? Jde o případ, kdy má být
v parametru číselné id, nebo hodnota NULL
. Musí se na to
používat např. nějaké záporné hodnoty, aby to šlo odlišit.
- Jan Tvrdík
- Nette guru | 2595
Ještě to můžeš nastavit v konstruktoru (to bude fungovat určitě), ale nevím, na kolik je to čisté řešení. Teoreticky ti nic nebrání ale ten redirect dělat manuálně.
- LM
- Člen | 206
Jan Tvrdík napsal(a):
Ještě to můžeš nastavit v konstruktoru (to bude fungovat určitě), ale nevím, na kolik je to čisté řešení.
Tohle taky nebude fungovat, protože výchozí hodnoty se získávají fcí
get_class_vars
. (V
PresenterHelpers::getPersistentParams
je nějakej náznak toho, že
by šlo výchozí hodnoty vrátit přepsáním getPersistentParams
v komponentě.)