Jak udělat webalize parametru v n:href?
- Myiyk
- Člen | 321
Ahoj, mám odkazy, ve kterých je aji název stránky, není to přes filtr v routeru, ale odkaz jednoduše odkazuje na <id> a zároveň na <name>, z presenteru se mi odkazuje jednoduše, ale z šablony mi to nějak nejde.
<a n:href="view $p->id, name => $p->name|webalize"></a> <!-- undefinded constant -->
<a n:href="view $p->id, name => {$p->name|webalize}"></a> <!-- syntax error, unexpected '{' -->
{var $webName = $p->name|webalize} <!-- $webName má stejnou hodnotu jako $p->name -->
Data jsou čtena přímo z databáze, dá se udělat to webalize nějak aniž bych musel ty data načítat v modelu a převádět?
Nette database, nette 2.1 dev, php 5.4.19
- Tomáš Votruba
- Moderator | 1114
Ahoj, doporučil bych ti spíš vlastní routu a používat pouze id.
Pokud potřebuješ hotfix, tak:
$template->webalize($p->name)
Editoval Schmutzka (26. 9. 2013 23:23)
- David Matějka
- Moderator | 6445
bohuzel nejde aplikovat helpery na cast makra. nejjednudussi reseni je tohle:
<a n:href="view $p->id, name => $template->webalize($p->name)"></a>
EDIT: pozde :(
Editoval matej21 (26. 9. 2013 23:25)
- duke
- Člen | 650
Ne nezbytně. Záleží, jak máš vyřešený model. Ta routa nemusí
přistupovat k databázi přímo, ale např. skrz modelové služby, které
používáš i jinde (v tvém případě např. při získávání
$p
), takže pak nemusí být nutné opětovně načítat to, co
již bylo načteno dříve. Také můžeš využít cachování.