Ujasnění použití {block} a {define} v Latte
- kejlicz
- Člen | 201
Ahoj všem.
Narazil jsem na jednu věc, která mi není jasná, proč se děje a nejsem si jistý, jestli {block} a {define} správně používám.
Ukázka:
Uvnitř tagu <head> v @layout.latte
{block canonocal}{/block}
detail.latte (toto normálně funguje a <link> se doplní do <head>
{define canonocal}
<link rel="canonical" href="https://example.com/saty/zelene-saty" />
{/define}
Ale když chci podmínkovat, opět detail.latte
{if false}
{define canonical}
<link rel="canonical" href="https://example.com/saty/zelene-saty" />
{/define}
{/if}
I když je podmínka false, tak se <link> do <head> doplní. Když obalím podmínkou cokoliv jiného, tak to normálně funguje, tak jak má, ale, když použiju {define}, doplní to blok pokaždé, i když je podmínka negativní.
Proč se to děje?
Díky moc.
Editoval kejlicz (14. 12. 2019 21:49)
- Marek Bartoš
- Nette Blogger | 1280
Imho jen parser nerozpoznal, že to používáš špatně. Blok lze
podmínečně vykreslit pomocí
{ifset canonical}{include canonical}{/ifset}
, nelze jej
podmínečně definovat. Tzn. {if false}
umísti
dovnitř bloku