Nefunguje ifCurrent se zavináčovou magií
- Ondřej Mirtes
- Člen | 1536
Jelikož je podpora dědičnosti pro šablony stále rozpracovaná, musel jsem si v jednom konkrétním případě pomoci podmínkou okolo $content->render() v layoutu. Ta podmínka sestává z ifCurrent. Tahle konstrukce (v {else} bloku jsem měl navíc nějaké HTMl, pro přehlednost jsem ho vymazal) vyvolá parse error:
{ifCurrent Default:}
@{? $content->render() }
{else}
@{? $content->render() }
{/if}
- R2D2
- Člen | 22
ono na tom neni nic divného, bloky se prostě nesmí křížit .. zavináč je jen konec ifu, to co je se zavináčem je mimo, a dál je zas if (SnippetHelper::$outputAllowed) … v této podmínce je jinak obaleno vše co není zavináčováno …
pokud chceme v rámci tohoto implicitního ifu mít nějakej další blok (podmínka, cyklus a další) tak vevnitř ten vnější if ukončit prostě nejde, křížily by se.. zavináč před blokovejma prvkama ten velkej if rozdělí na víc částí, mimo blok a v bloku, pak to jde vevnitř ukončit normálně jako jinde..
kdyby to někdo dokázal líp formulovat, tak je myslim zavináčová magie vhodnej kandidát na zápis do dokumentace :)