Generování odkazu do proměnné
- exquis
- Člen | 83
Zdravím, napadá vás jak vygenerovat plink v LATTE do proměnné(v komponentě)?
něco ve stylu:
{var $Link = plink Text:homepage}
Jen abych přiblížil proč – generuji menu a uživaztel má možnost vložit:
- odkaz na stránku z DB
- odkaz na presenter:action
- vlastní odkaz na co bude chtít
Takže tam vznikne „podmínkovací monstrum“, ale link potřebuji použít na 2 místech… takže bych musel duplikovat, což se mi nechce.
{var $hloubka = -1}
{ifset $seznam}
{foreach $seznam as $i}
{if $hloubka < $i[level]}
<ul class="level-{$i[level]-1}">
{else}
{for $var = $hloubka-$i[level]; $var > 0; $var--}
</li></ul>
{/for}
</li>
{/if}
<li>
<span></span>
{if (!empty($i["parameter"]) && !empty($i[$i["column"]]))}
<a href="{plink $i["link"] $i["parameter"]=>$i[$i["column"]]}" target="{$i->target}">{if $i->icon}<i class="{$i->icon}"></i>{/if}{$i->name}</a>
{elseif $i["link"]}
<a href="{plink $i["link"]}" target="{$i->target}">{if $i->icon}<i class="{$i->icon}"></i>{/if}{$i->name}</a>
{else}
<a href="{$i->url}" target="{$i->target}">{if $i->icon}<i class="{$i->icon}"></i>{/if}{$i->name}</a>
{/if}
{var $hloubka = $i->level}
{/foreach}
{for $var = $hloubka+1; $var > 0; $var--}
</li>
</ul>
{/for}
{/ifset}
Editoval exquis (29. 6. 2016 16:51)
- exquis
- Člen | 83
CZechBoY napsal(a):
Tak můžeš z toho udělat znovu použitelnej blok, kterej includneš kde potřebuješ. Nebo z po vybrání z databáze uložit do entity přímo vygenerovaný odkaz a v šabloně ho jen vypíšeš do atributu href.
takže v podstatě neexistuje možnost jak bych jinak mohl přímo v latte přiřadit link do proměnné? Ale máš pravdu, že znovupoužitelný blok by šel taky. Díky moc
- exquis
- Člen | 83
Tak to funguje super, díky
{var $hloubka = -1}
{ifset $seznam}
{foreach $seznam as $i}
{define link}
{if (!empty($i["parameter"]) && !empty($i[$i["column"]]))}
{plink $i["link"] $i["parameter"]=>$i[$i["column"]]}
{elseif $i["link"]}
{plink $i["link"]}
{else}
{$i->url}
{/if}
{/define}
{if $hloubka < $i[level]}
<ul class="level-{$i[level]-1}">
{else}
{for $var = $hloubka-$i[level]; $var > 0; $var--}
</li></ul>
{/for}
</li>
{/if}
<li>
<span></span>
<a href="{include link}" target="{$i->target}">{if $i->icon}<i class="{$i->icon}"></i>{/if}{$i->name}</a>
{var $hloubka = $i->level}
{/foreach}
{for $var = $hloubka+1; $var > 0; $var--}
</li>
</ul>
{/for}
{/ifset}
- Jiří Nápravník
- Člen | 710
{capture $link}{plink :App:Front:Homepage}{/capture}
if muzes mit jak v capture tak nad tim capture…