Vnořování latte šablon s parametrem

flendry
Člen | 5
+
0
-

Zdravím,

mám pole, které obsahuje různé třídy. Já potřebuji každou třídy vykrelist pomocí jiného HTML. Pomocí latte procházím forEachem toto pole a mám definovaný pro každou třídu if, ve kterém se pak nachází samotné HTML, podle kteerého se má ta která třída vykreslit.

Vzhledem k tomu, že těch tříd, které se v poli mohou objevit je asi deset, tak výsledkem je html kód dlouhej jak tejden.

Proto přemýšlím, jak dosebe zanořit latte šablony a rozbít kód do různých souborů. Chtěl bych mít pro každou třídu svůj vlastní .latte soubor a nějak ho includovat s parametrem.

Mám samozřejmě definovaný @layout.latte ve kterém se vykresluje stránka která pak zobrazuje tyto třídy.

Představoval jsem si něco jako:

{layout "../@layout-different.latte"}
{block content}
	<h1>All blocks</h1>
	{foreach $blocks as $block}
		{if $block->toString() == 'type_1'}
			<h2>First type</h2>
			{include type_1 $block}
		{elseif $block->toString() == 'type_2'}
			<h2>Second type</h2>
			{include type_2 $block}
		{elseif $block->toString() == 'type_3'}
			<h2>Third type</h2>
			...
		{/if}
	{/foreach}
{/block}

a pak analogicky, kdybych chtěl ještě do html, které obsluhuje block type1 vložit nějaký další kód, který se mění v závislosti na proměnných obsažených v $block.

Ten popis vnořování latte šablon mi z dokumentace vůbec není jasný.

Dík!

Duch.Veliky
Člen | 68
+
0
-

Když tam dáš include, tak se tam automaticky vnese i ta proměnná, ne? :)

takže stačí udělat např:

{include 'type_1.latte'}

Editoval Duch.Veliky (17. 3. 2018 17:31)