Přidání třídy u aktuální stránky funguje v 50% případů
- wujido
- Člen | 8
Zdravím,
snažím se zprovoznit zvýrazňování aktivní položky v menu. Mám to
udělané takto:
{foreach $publicPages as $site}
{dump $site}
{dump $presenter->isLinkCurrent('Page:show', $site->id)}
<a n:class="nav-link, $presenter->isLinkCurrent('Page:show', $site->id) ? active"
n:href="Page:show $site->id">{$site->name}</a>
{/foreach}
Z nějaké ho neznámého důvodu to u poloviny případů funguje a
u poloviny ne. Výpis:
$presenter->isLinkCurrent('Page:show', $site->id)
vrací
true
vždy u správné stránky, ale class active se občas
přidá a občas ne. Nevíte kde by mohla být chyba?
Děkuji :)
- wujido
- Člen | 8
Css není špatně. Třídu active to občas nepřidá, i když je
{dump $presenter->isLinkCurrent('Page:show', $site->id)}
true
vypadá to jakoby podmínka v makru n:class fungoval jen když se jí zachce… (i když je pokaždé v nějakém průchodu cyklu true)
Editoval wujido (31. 3. 2019 20:11)
- CZechBoY
- Člen | 3608
@Altimit Myslim, že tě zklamu, ale ifCurrent makro je
deprecated.
https://latte.nette.org/cs/tags#…
@wujido Pošli ještě co je v $presenter->getName()
když to hodí true ikdyž by nemělo.
- Martk
- Člen | 661
Podívej se do cache, co se ti vygenerovalo do php. Jaká verze latte?
Btw dá se udělat i tohle:
<a n:href="Page:show $site->id" n:class="nav-link, $presenter->isLinkCurrent() ? active">{$site->name}</a>
bez parametrů otestuje poslední vytvořenou url.
Editoval Martk (1. 4. 2019 8:36)