Lze udělat podmíněné makro layout?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Jiří Nápravník
- Člen | 710
Potřebuji udělat podmíněné makro layout. První varianta byla
{if}
{layout}
{else}
{layout}
{/if}
to mě seřvalo, že nemůže být layout v jiném makru.
Druhá varianta byla to samé, jen s tím, že si to uložím do proměnné a tu předám do makra layout. To je lepší, ale pořád warning, že musí být layout v hlavičce.
Zkoušel jsem i ternární podmínku uvnitř makra layout, ale to mi tu podmínku udělalo jako string a nefungovalo tedy.
Je nějaká možnost?
- Jiří Nápravník
- Člen | 710
V šabloně je to pro mě lepší, protože do presenteru bych nerad sahal, pokud není nutné, ten presenter totiž obsluhuje více projektů a abych to nemusel uzpůsobovat na více místech.
@DavidGrudl Ternarni operator jsem zkoušel, ale nevhodně se to přetransformovalo
{layout (!$deviceView->isPhoneView()) ? 'detail.latte' : 'detail.phone.latte')}
se v cachované latte šablone v metodě prepare převede na:
$this->parentName = "(!$deviceView->isPhoneView())"? 'detail.latte' : 'detail.phone.latte';