načítání položek menu z databaze, nefunguje routa

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
cermy
Člen | 3
+
0
-

Zdravím všechny,
mám vytvořenou komponentu, která mi načte údaje menu z DB a následně připravím šablonu pro menu.

struktura je
app

--PublicModule
---control
----menu
-----MenuFactory
-----topmenu.latte
šablona vypadá takto:

<div id="menu-top" class="pull-left">
    <div class="nav nav-list">
        <ul>
        {foreach $menu as $item}
            <li {ifCurrent $item->path}class="current"{/ifCurrent}>
                <a href="{plink $item->path}" title="{$item->title}">{$item->title}</a>
            </li>
        {/foreach}
        </ul>
    </div>
</div>

Vždy dostanu chybu: Invalid link: No route for Public:Article: home(locale=cs)
Pokud však přepíšu odkaz natvrdo
{plink :Public:Article: home}
vše začne fungovat správně.

z DB načítám a předávám v proměnné path úplně stejný řetězec, ale nejde to.
Prosím o jakoukoliv radu, díky moc.

Editoval cermy (24. 8. 2016 14:06)

David Matějka
Moderator | 6445
+
+3
-

kdyz to zapises jako {plink Presenter: parametr}, tak si to latte dokaze rozparsovat a poznat, co je destination a co jsou parametry. Kdyz to tam das jako promennou, tak latte akorat preposle tu promennou do ->link($item->path) a proto to nebude funguvat. Budes muset do DB ukladat oddelene destination a parametry (treba jako serializovany pole, pripadne json pole) a pak v sablone neco jako {plink $item->destination (expand) $item->parameters}

cermy
Člen | 3
+
0
-

Super díky moc za vysvětlení ;-)