Tvorba odkazů v šabloně
- AceUnihoc
- Člen | 19
Zdravím, zajímalo by mě jestli jde zkrátit, zjednodušit zápis
odkazů.
Routa:
<?php
$router[] = new Route('<presenter>/<table>/<id>', array(
'presenter' => 'Main',
'action' => 'default',
'table' => NULL,
'id' => NULL,
));
?>
Example: :Main:default?table=users&id=10
Odkazy:
- {link default, ‚table‘=>‚users‘, ‚id‘=>5}, takhle {link default, ‚osoby‘, 10} to funguje pouze pokud je metoda ve tvaru renderDefault($table, $id) musí obsahovat všechny a ve stejném pořadí jako v route. Jde to i jinak ?
- Jsem na adrese jak je v Example a chci změnit pouze id. Jde to napsat úsporněji než to celí link nadefinovat znova ? Jak vytvořím odkaz na aktuální stránku se všemi parametry (něco jak $this->backlink(), ale se všemi proměnnými) ?
- Když použiji netteLinks např. nette:Main:default?table={$var}, tak se mi tam proměnou nedaří dostat.
- {link :presenter:action, $array}, ($array obsahuje asociativní pole) tohle taky nevím jak zapsat díval jsem se do jak to filter překládá a on pole vloží ještě do jednoho pole, dá se tomu nějak zabránit, obejít to (tzn. nastavit chování tak jak je v $this->link() v presenteru) ?
Editoval AceUnihoc (5. 2. 2009 22:37)
- David Grudl
- Nette Core | 8218
Routa s tím nemá víceméně nic společného, takže pokud je metoda
renderDefault($table, $id)
, tak lze odkazovat
{link default 'users', 10}
, pokud je metoda jen
renderDefault()
, tak potom
{link default, 'table'=>'users', 'id'=>5}
.
{link :presenter:action, $array}
zatím zadat nejde, váhám
jestli to implementovat (asi nějak
takto).
- AceUnihoc
- Člen | 19
David Grudl napsal(a):
Routa s tím nemá víceméně nic společného, takže pokud je metoda
renderDefault($table, $id)
, tak lze odkazovat{link default 'users', 10}
, pokud je metoda jenrenderDefault()
, tak potom{link default, 'table'=>'users', 'id'=>5}
.
{link :presenter:action, $array}
zatím zadat nejde, váhám jestli to implementovat (asi nějak takto).
Routa s tím co potřebuju nemá nic společného, moje chyba.
S přidáním „*“ před $array v linku, souhlasím to by pomohlo.
- Jak se dá vložit proměnná do odkazu tvořeného pomocí netteLinks ?
- David Grudl
- Nette Core | 8218
Asi nedá… netteLinks beru od dob CurlyBrackets filtru jako něco překonaného.