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…