Přidání stylu při odkazování na akt. stránku
- uestla
- Backer | 799
Hezkou noc přeji.
Řeším menší problém – jak elegantně přidat odkazu, který odkazuje na aktuální stránku, kaskádovou třídu?
V BasePresenteru si do šablony předávám proměnnou
$actPresenter
, která mi uchovává URL aktuální stránky. Když
ale v šabloně procházím pole a chci pro prvek, jehož zpracování na URL
vede na aktuální stránku (čili se shoduje s $actPresenter
),
nastavit třídu, nedaří se.
Zkouším to pomocí následujícího kódu:
{foreach $roky as $rok}
<a href="{plink this rok => $rok}"{attr class('actual', $actPresenter === {plink this rok => $rok})}>{$rok}</a>
{/foreach}
Laděnka hlásí Parse Error, jelikož Latté Filter nezpracuje
{plink ?}
v argumentu class()
. Mohl bych si napsat
vlastní helper, který by mi pro daný rok vracel presenterem vytvořenou URL,
ale zdá se mi to moc krkolomné…
Existuje nějaké elegantnější řešení? Předem díky za odpověď.
- Filip Procházka
- Moderator | 4668
Myslím že by bylo lepší předávat templatě $actYear (čili aktuální rok)
{foreach $roky as $rok}
<a href="{plink this rok => $rok}"{if $actYear==$rok} class="actual"{/if}>{$rok}</a>
{/foreach}
//Edit: Koukám jsi to vyřešil sám :) každopádně si ale pořád myslím že je to zbytečný výkon, když můžeš porovnávat pouze dva integery místo vytvářené objeku requestu a skládání url :)
Editoval HosipLan (20. 12. 2009 11:50)
- uestla
- Backer | 799
HosipLan napsal(a):
Myslím že by bylo lepší předávat templatě $actYear (čili aktuální rok)
{foreach $roky as $rok} <a href="{plink this rok => $rok}"{if $actYear==$rok} class="actual"{/if}>{$rok}</a> {/foreach}
//Edit: Koukám jsi to vyřešil sám :) každopádně si ale pořád myslím že je to zbytečný výkon, když můžeš porovnávat pouze dva integery místo vytvářené objeku requestu a skládání url :)
Pravdu díš, dokonce ještě hezčejší je využít značky
{attr ?}
;)
{foreach $roky as $rok}
<a href="{plink this rok => $rok}"{attr class('actual', $actYear === $rok)}>{$rok}</a>
{/foreach}
Editoval uestla (20. 12. 2009 13:42)