Cache šablony – pro každy produkt

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

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
+
0
-

Viz https://doc.nette.org/cs/caching#…, uvedeš klíč.

{cache $productId}
...
{/cache}
ju5tHard
Člen | 14
+
0
-

Tohleto bohužel nevyřeší můj problém :( Pokud toto dám do šablony, tak se pro všechny šablony generuje jedna template, resp. všechny produkty jsou stejné, bez ohledu na ID

justHard
Člen | 7
+
0
-

Nikdo neví?

Nox
Člen | 378
+
0
-

Tohle by mělo fungovat … neukládají se náhodou šablona a cachované části šablon zvlášť?

Michal Vyšinský
Člen | 608
+
0
-

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
+
0
-

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.

Nox
Člen | 378
+
0
-

V TEMP jsou složky:

  • _Nette.FileTemplate → tady jsou zkompilované šablony
  • _Nette.Templating.Cache → tady jsou cachovaná data z šablon
ju5tHard
Člen | 14
+
0
-

Nemůže být chyba v tom, že mám starší verzi Nette?

ju5tHard
Člen | 14
+
0
-

Čekal jsem, že Nette bude mít teda lepší komunitu, když je toilk reklamován..

Aurielle
Člen | 1281
+
0
-

Komunita je tu slušná, to ano, ale nikdo tady nesedí 24 hodin denně a nenahrazuje placenou podporu. Všichni to dělají ve svém volném čase a z vlastní vůle…

22
Člen | 1478
+
0
-

ju5tHard napsal(a):

Nemůže být chyba v tom, že mám starší verzi Nette?

může, mám pocit, že parametr pro cache v šabloně není až tak dlouho, ale ono se to tu může psát 100× a stejně nikdo verzi Nette neuvede, na které má problém, tak se pak nediv, že ti nikdo neporadí..

ju5tHard
Člen | 14
+
0
-

Nette Framework 0.9.7

22
Člen | 1478
+
0
-

..mělo by to "fungovat ":https://latte.nette.org/cs/tags#… asi by bylo lepší poslat sem celej presenter a šablonu

Nox
Člen | 378
+
0
-

@**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
+
0
-

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.