Bug: Šablony {extends}, {block} & {cache}
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- xificurk
- Člen | 121
Tož asi přesun sem z jiného vlákna…
Při použití nového dědění šablon a nahrazování blocků
($this->oldLayoutMode = FALSE
) nefunguje kešování
v šablonách. Pro demonstraci následující šablony:
{** Parent **}
{block #out}
<p>Out: Parent {=time()}
{block #in}
<p>In: Parent {=time()}</p>
{/block}
</p>
{/block}
{** Child **}
{extends Parent}
{block #in}
<p>In: Child {=time()}</p>
{/block}
Pokud se se obalí obsah Parent do {cache}
, zůstává keš
validní i po změně Child. Pokud se obalí obsah Child do
{cache}
je chování ještě bizarnější – při prvním
načtení dojde k nahrazení bloku, při dalším již ne.