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

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.