odstranění persistentních parametrů
- chap
- Člen | 81
Ahoj,
je prosím nějaká možnost jak vytvořit univerzálně odkaz, který bude bez
veškerých persistentních parametrů? V latte něco na tento způsob:
{plink presenter:action, null}
. Mám v aplikaci použito poměrně
hodně parametrů a potřeboval bych pro generování položek menu uvádět
zcela bez parametrů – čas od času to dělá neplechu. Nebo je nutné pro
každý presenter ručně nastavovat tyto parametry na null
?
Předem díky.
- Jan Tvrdík
- Nette guru | 2595
@chap: Musíš explicitně vynulovat všechny persistentní parametry. Pokud bys to chtěl zkrátit, tak bych zkusil tohle:
{var $unpersist = array_fill_keys($presenter->persistentParams, NULL)}
{link Presenter:action, (expand) $unpersist}
- MartinitCZ
- Člen | 580
Tvůj kod neznáme, ale možná zkus zapřemýšlet o ukládání do
session, místo použití url. :)
Občas to je lepší.
- mkoubik
- Člen | 728
Persistentní parametry bys měl používat tam, kde chceš zachovávat
jejich hodnotu v odkazech napříč presenterem (nebo presentery, pokud je
definuješ na společném předkovi).
Pokud není očekávané chování že ten parametr zůstane v odkazu na danou
akci, pak by nejspíš neměl být persistentní.
Případně zkus omezit jejich rozsah platnosti – definuj je jen na
konkrétním presenteru, nedávej nesouvisející akce do stejného presenteru,
nebo použij persistentní parametry komponent.