Neparsování statické části latte šablony

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

Ahoj,
jak nejefektivněji vypsat statické bloky html v šabloně? Ze starších projektů mám řadu fotogalerií vygenerovaných jako statické HTML. Předělávat je nepřipadá v úvahu. Tabulka s galerií může mít třeba 6000 řádku. Bez ošetření skončím na max execcution time nebo memory limit, protože šablonovací systém je parsuje a kontroluje tabulku.

Zkoušel jsem tři způsoby, vše bez kýženého efektu:

<table n:syntax='off'>
 ...
</table>
{capture $tabulka}
 <table>...</table>
{/capture}
{!$tabulka}
{block|texy}
--znacka pro zacatek html
 <table>...</table>
--znacka pro konec html
{/block}

Jak potlačit latte parser na část šablony?

Filip Procházka
Moderator | 4668
+
0
-

Zkus se zamyslet. Když úplně vypneš zpracování šablony, jak pozná, kde má pokračovat?

Editoval HosipLan (26. 1. 2012 10:13)

tomask
Člen | 9
+
0
-

Pakliže by šablonovací systém podporoval nějakou párovou značku {disableParse}...{/disableParse}, mohlo by se zpracování vnitřního kódu mezi párovými značkami omezit pouze na hledání koncové značky {/disableParse}, při jejím výskytu opět nahodit parsování do běžného režimu. Na blok mezi značkami by se veškerá rozšířená funkčnost šablonovacího systému potlačila.

Když tu otázku opět otočím zpět, nyní není způsob jak strojově nenáročně vypsat v šabloně statický kód? Vypnout úplně parsování dané šablony nemohu, kód vkládám do bloku, který se umístí do placeholderu v layoutu.

HosipLan napsal(a):

Zkus se zamyslet. Když úplně vypneš zpracování šablony, jak pozná, kde má pokračovat?

duke
Člen | 650
+
0
-

Možná by to šlo tak, že bys to nechal mimo šablonu ve zvláštních souborech a pro šablonu by sis udělal speciální makro. Použití by pak vypadalo např. takto:

{includeRaw 'static/galerie.html'}
Filip Procházka
Moderator | 4668
+
0
-

@**duke**: To vůbec není špatný nápad!