Tvorba odkazu pomocí dat z databáze
- TOMeek
- Člen | 64
Zdravím,
potřeboval bych poradit, protože už nevím jak dál. Mám uložené stromové
menu v databázi i s odkazy, které mám v nette tvaru
:Module:Presenter:View:action type=>...
. A právě v tom
type=> ...
je problém, protože, když se snažím v Latte
vypsat odkaz pomocí
<a href="{plink $item->link}" ...></a>
tak mi to
vezme jen odkazy bez toho type a ostatní mi hlásí
No route for :Module:Presenter:View:action type=>neco()
(ano ty
závorky na konci jsou správně, i když je v DB uložené nemám). Jde
nějak předat url z databáze, aby to Nette korektně zpracovalo?
Edit : i když link uložím ve tvaru
:Module:Presenter:View:action neco
tak to hlásí to samé.
Předem díky Tomáš
Editoval TOMeek (2. 7. 2013 9:48)
- llook
- Člen | 407
Jasně, Latte to rozparsuje takhle:
{
plink
$this->link
}
Prostě bere celé $this->link
jako pouze první parametr
makra, tj. název presenteru.
Můžeš odkaz sestavit v presenteru a do šablony předávat URL.
Presenter:
$this->template->link = $this->link('Presenter', array('type' => ...));
Šablona:
<a href="{$link}">...</a>
A nebo tak, jak píše vitkutny:
<a n:href="$destination, type => $type">...</a>
- TOMeek
- Člen | 64
Zatím jsem to udělal tak, že si rozeberu to URL které mám uložené na
hlavní část a na parametry a pak to jednotlivě vkládám do
<a href={plink $master $param1, ... $paramx}>...
protože
u me neni jisty jak se parametr bude jmenovat nebo kolik jich tam bude. Kdyby
bylo lepší (kradší) řešení tak budu jen rád.