Invalidace statického snippetu obsahující dynamické

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

Lze nějak invalidovat statický snippet obsahující dynamické snippety? Aby požadavek nevrátil všechny dynamické snippety, ale kompletně celý statický snippet?
Příklad:

<?php
{snippet basket tbody}
	<tr n:foreach="$items as $item">
		<td class="columnPricePerPiece" n:snippet="item-price-$rowId">{$item["price_with_vat"]|format}</td>
		<td class="columnPrice" n:snippet="item-price-total-$rowId">{$item["total_price_with_vat"]|format}</td>
	</tr>
{/snippet}
?>

V presenteru:

<?php
$this->invalidateControl('basket');
?>

A chci aby se vrátilo {„snippets“: {„snippet-basket“: "…

Editoval Coura (2. 6. 2012 20:28)

Vojtěch Dobeš
Gold Partner | 1316
+
0
-

Domnívám se, že to možné není, je to jeho feature. Řešením je pochopitelně odstranit dynamické snippety z jeho těla.

V čem je problém? Pokud v optimalizaci v prohlížeči, tak bych si upravil rutinu zpracovávající snippety, aby je nejdříve poskládala k sobě, a teprve až pak provedla náhradu v DOMu.

Editoval vojtech.dobes (2. 6. 2012 21:04)

Coura
Člen | 18
+
0
-

Problém je při odstranění položky z košíku, abych nemusel posílat nějaký prázdný snippet, ale jednoduše invalidovat celý blok.

Coura
Člen | 18
+
0
-

Přidal jsem nad to ještě jeden statický snippet, který už jde normálně invalidovat. Sice se musí posílat více HTML, ale účel to plní.

uestla
Backer | 796
+
0
-

Možná by mohlo pomoci tutonc (in čenglish): https://forum.nette.org/…snippet-node

Coura
Člen | 18
+
0
-

Díky, anglické fórum mne nenapadlo :-[