Cache šablony – pro každy produkt
- justHard
- Člen | 7
Dobrý den,
řeším problém s cache a doménou. Mám template třeba: produkt.phtml.
Jakmile chci tuto stránku zacachovat třeba pro produkt 1, tak pokud spustím
produkt 2, tak se mi automaticky zobrazí produkt 1.
Mohl by mi prosím někdo poradit, jak se toto ošetřuje? Ideálně, pokud by to šlo rovnou v šabloně.
Díky
- Jan Tvrdík
- Nette guru | 2595
Viz https://doc.nette.org/cs/caching#…, uvedeš klíč.
{cache $productId}
...
{/cache}
- Michal Vyšinský
- Člen | 608
A co si v presenteru poslat do šablony id toho produktu
($this->template->productId = $productId) // bude pro každý produkt jedinečné
- justHard
- Člen | 7
Nox napsal(a):
Tohle by mělo fungovat … neukládají se náhodou šablona a cachované části šablon zvlášť?
Tím je myšleno konkrétně co? cache se ukládá do TEMP, co jsem tak zpozoroval.
CherryBoss napsal(a):
A co si v presenteru poslat do šablony id toho produktu
($this->template->productId = $productId) // bude pro každý produkt jedinečné
Toto jsem zkoušel, dát tam unikátní ID rovnou do this->template, ale ani to nepomáhá. Stále se zobrazí jedna template.
- 22
- Člen | 1478
..mělo by to "fungovat ":https://latte.nette.org/cs/tags#… asi by bylo lepší poslat sem celej presenter a šablonu
- Nox
- Člen | 378
@**22** mě tam mate to, že se právě v té dokumentaci píše, že
jako argumenty se uvádí invalidační tagy, ne klíč a tagy … pokud není
klíč, jak šablona pozná, že se má vytvořit jiný záznam?
Zvláštní je proto právě uvedený příklad, který je podobný
jako zde
Ono se tam píše, že to je experimentální, tak to možná není úplně dotažené
- Jan Tvrdík
- Nette guru | 2595
22 wrote:
..mělo by to "fungovat ":https://latte.nette.org/cs/tags#… asi by bylo lepší poslat sem celej presenter a šablonu
Nemělo.
Nox wrote: v té dokumentaci píše, že jako argumenty se uvádí invalidační tagy, ne klíč a tagy
A píše se to tam zcela správně. V Nette 0.9.7 se skutečně jednalo o tagy. Klíčem byla cesta k šabloně a řádek, na kterém se makro nacházelo.
@ju5tHard: V 0.9.7 to Nette samo o sobě neumělo. Řešilo se to tehdy různými workaroundy.