označení aktivní položky ihned po načtení stránky
- Taps
- Člen | 168
Zdravím, pro označení aktivní položky používám níže uvedený kod.Můj dotaz zní zda je možné níže uvedený kod upravit, tak aby se mi hned po načtení stránka označila položka,bez toho aniž bych musel na položku kliknout . Adresa by byla následující(Homepage:default liga=>1)
<ul class="htabs hide clearfix">
<?php $hranaLiga = 1 ?>
{foreach $Tabulkaligy as $liga}
<li {ifCurrent Homepage:default liga=>$liga->id} class="active muzi"{/ifCurrent} >
<h3><a href="{link Homepage:default liga=>$liga->id}">{$liga->nazev}</a></h3>
</li>
{/foreach}
</ul>
- Taps
- Člen | 168
Při použití
<h3><a href="{plink Homepage:default liga=>$liga->id}">{$liga->nazev}</a></h3>
je problém stejný.
Routování mám nastaveno takto:
$container->router[] = new Route('index.php', 'Front:Homepage:default', Route::ONE_WAY);
$container->router[] = $adminRouter = new RouteList('Admin');
$adminRouter[] = new Route('admin/<presenter>/<action>[/<id>]', 'Homepage:default');
$container->router[] = $frontRouter = new RouteList('Front');
$frontRouter[] = new Route('clanky[/<nazev>]', 'Clanky:default');
$frontRouter[] = new Route('<presenter>/<action>[/<id>]', array(
'presenter' => 'Homepage',
'action' => 'default',
'liga' => 1,
));
- 22
- Člen | 1478
Jo, máš pravdu, nějak mi nedocvaklo, že někdo vyvíjí na produkci, takže v bootsrapu zkus upravit:
// Enable Nette Debugger for error visualisation & logging
$configurator->setDebugMode();
$configurator->enableDebugger(__DIR__ . '/../log');
pak zkus, jestli se ti chytí routa třeba na:
<a href="{link Homepage:}"></a>
edit: mod_rewrite ti funguje?
Editoval 22 (7. 8. 2012 12:29)
- Taps
- Člen | 168
když jsem použil tento zápis
$frontRouter[] = new Route('<presenter>/<action>[/<liga>]', array(
'presenter' => 'Homepage',
'action' => 'default',
'liga' => 1,
));
tak se mi vygeneroval link homepage/default/2, takže chyba bude asi někde na úrovni routování. Mod rewrite mi v pořádku funguje. Potřebuji aby link byl ve tvaru ?liga=2
- 22
- Člen | 1478
tak můžeš třeba do HomepagePresenteru:
/** @persistent */
public $liga = 1;
public function startup()
{
parent::startup();
$this->getParameter('liga') ? $this->liga = $this->getParameter('liga') : NULL;
}
a pojede ti to na default routu, bude ti to generovat /?liga=1 na odkazu a
správně vyhodnotí i isLinkCurrent()
edit: pro úplnost, bude se to matchovat s touhle routou:
$frontRoute[] = new Route('<presenter>/<action>[/<id>]', array(
'presenter' => 'Homepage',
'action' => 'default',
));
Editoval 22 (7. 8. 2012 14:14)
- 22
- Člen | 1478
Nějak se v tom ztrácím.. odkaz vede vždycky, na stejné místo, i když je na všech stránkách, ne? Takže isLinkCurrent bude pravdivé akorát také na jednom místě, tedy na HomepagePresenteru, nikde jinde ho nepotřebuješ imho. A na HomepagePresenteru je jen kvůli správné detekci aktivního menu..