Menu pro všechny kategorie (latte)

- dog.big
 - Člen | 49
 
Zdravím,
generuji si menu (statické) pro zobrazení v latte, vše funguje ok,
i označení aktivní „sekce“. Avšak já potřebuji, abych měl označenou
sekci (v menu class=„current“) i když navštíví uživatel nějakou
podsekci. Dejme tomu Distribution:test1. Jak na to?
Generované menu pomocí kódu:
public function beforeRender()
    {
        // Dynamicaly created menu along with user permissions
        ...
        if ($this->user->isAllowed('distribution', 'access')) {
            $this->template->menuItems['Distribuce produktů'] = 'Distribution:';
        }
        ...
        }
    }
v základním latte zobrazené pak jako:
...
<div n:inner-foreach="$menuItems as $item => $link">
        <a {ifCurrent $link}class="current"{/ifCurrent} n:href="$link">{$item}</a>
</div>
...
					Editoval dog.big (27. 2. 2012 12:45)

- Etch
 - Člen | 403
 
@pilec:
Vidíš. Píši rychleji, než mi to myslí. :) V šabloně bych to normálně otrimoval, než abych tam měl nějaký „složitý“ regex.
Ono teda obojí je dost naprd, ale dle mého názoru kodér spíše dá
trim($link. ':*') než
preg_replace('/:([a-z0-9]+.*)$/i',':*',$link).
Pokud je to navíc takhle jednoduché, tak bych se nebál ani
$this->template->menuItems['Distribuce produktů'] = 'Distribution:';
<div n:inner-foreach="$menuItems as $item => $link">
        <a n:href="$link" n:class="$presenter->isLinkCurrent($link.'*')?current">{$item}</a>
</div>
Popřípadě bych klidně posílal oba linky. Něco ve smyslu:
$items[] = array('title' => 'Distribuce produktů', 'link' => 'Distribution:')
foreach($items as $key => $val){
	$items[$key]['current_link'] = $val['link'].'*';
}
$this->template->menuItems = $items;
<div n:inner-foreach="$menuItems as $item">
        <a n:href="$item['link']" n:class="$presenter->isLinkCurrent($item['current_link'])?current">{$item['title']}</a>
</div>
					Editoval Etch (28. 2. 2012 6:01)

- Etch
 - Člen | 403
 
@pilec:
Ano tohle je samozřejmě pravda, ale marně v paměti pátrám potom, kdy
jsem naposled potřeboval použít
$presenter->isLinkCurrent('Foo:*') a přitom jsem chtěl
odkazovat na jiné než defaultní view. Teď mě ani moc nenapadá, k čemu
bych to v praxi nějak využil. Nemáš nějaký příklad, kdy by se tohle
dalo nějak „více“ prakticky využít??
PS:
Co jsem koukal na ten regulár tady, tak když bude link absolutní
':Distribution:' tak pravděpodobně vrátí jenom
':*'. (netestováno)