Snippety a načítání ajaxového obsahu
- akadlec
- Člen | 1326
Lámu si hlavou jak správně navrhnout snippety a jak je správně invalidovat a zatím se mi nepodařilo najít vhodné řešení.
Aktuálně mě to funguje tak že hlavní obsahovou částu web mam obalený
do snippetu „contentArea“ a tento snippet refreshuju když klikám na
jednotlivé položky menu. Abych pro každou položku nemusel dělat vlastní
action, tak ten snippet invaliduju až „beforeRender“
Pokud pracuju s položkami menu je to ok, obsah se vyměnuje jak potřebuji.
Ale problém nastane když sem na nějaké stránce kde jsou v contentArea
další snippetové bloky a při akcich chci měnit jen je, ale při ajaxovém
requestu se mě invaliduje a pošle i ten snippet „contentArea“
Má někdo nějaký tip jak bych to měl poupravit? Nebo se nevyhnu těm vlastním actions pro jednotlivé položky menu?
- Vojtěch Dobeš
- Gold Partner | 1316
Pokud chceš invalidovat menší bloky jen při zpracování signálů (což bych tipoval), tak můžeš v beforeRender invalidovat pouze pokud žádný signál nebyl odeslán.
- Vojtěch Dobeš
- Gold Partner | 1316
And the trick is… :)
protected function beforeRender()
{
parent::beforeRender();
if ($this->getSignal() === NULL) {
$this->invalidateControl('contentArea');
}
}