Manipulace s bloky a továrničkami v Presenterech

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

Existuje nějaká možnost, jak manipulovat s definovanými bloky v šablonách, nebo je to čistě šablonová záležitost?

{block #menu}
<ul>
	<li><a href="#"></a></li>
</ul>
{/block}

Ne že bych na to nějak lpěl, ale občas jsou případy, kdy by se mi hodilo třeba v presenteru nějaký blok vyhodit za nějakých určitých podmínek.

A ještě jeden dotaz:

Pokud mám definovanou továrničku – formulář, stránkování, whatever a volám jí už přímo v šabloně přes

{control myForm}

jak tu továrničku vhodně vynulovat (tzn. zajistit, že se nezobrazí)? Opravdu musím definovat v presenteru něco jako $this->template->displayForm = FALSE; a to pak testovat v šabloně?

arron
Člen | 464
+
0
-

Ad. bloky…zkusil bych projit zdrojaky, jak se s tema blokama vlastne naklada a pak zvazit, jestli se to da nejak ovlivnit. Nicmene jsem presvedceny, ze z prezenteru to nepujde, protoze sablona se zpravovava az zvlast (mozna pres objekt te sablony by se s tim dalo nejak manipulovat, ale…). Spis mi takovahle potreba silne zavani spatnym navrhem aplikace a jde to proti oddeleni vykone a zobrazovaci casti aplikace.

Ad. control…ono se to bude tezko „nulovat“, protoze makro control sice bud vezme existujici control, ale kdyz jeste neexistuje, tak si ho sam vytvori. Takze bych rekl, ze opravdu to bude potreba udelat pres podminku (ale ono je to prece docela logicke ne?).

Editoval arron (15. 10. 2010 18:15)

jtousek
Člen | 951
+
0
-

Už z principu je to záležitost šablony. Ale můžeš zvážit třeba možnost, že daná komponenta se za určitých podmínek sama vyrenderuje jako prázdný řetězec.