Jak použít n:href v šablonách

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

Ahoj,
když v šablonách použiju následující kód pro n:href, vygeneruje se mi odkaz brands/default (pouze pokud přejmenuji parametr „brand“ v routeru, tak se mi vytvoří odkaz /brands/default?brand=vyrobce). Chci ale aby byl odkaz např. brands/vyrobce (využívající default.latte). Po zadání adresy brands/vyrobce do prohlížeče se stránka načte v pořádku.

<a n:href="Brand_Info:,$brand['url_key']">{$brand['title']}</a>

Toto řešení bohužel použít nelze:

<a n:href="Brand_Info:{$brand['url_key']}">{$brand['title']}</a>

V případě, že odkaz přepíšu natvrdo na toto, odkaz je v pořádku:

<a n:href="Brand_Info:vyrobce">{$brand['title']}</a>

V routeru používám:

$pattern = "/brands/:brand[PLAIN_TEXT]";

Editoval miloshavlicek (28. 1. 2014 14:22)

Pavel Macháň
Člen | 282
+
0
-

miloshavlicek napsal(a):

Ahoj,
když v šablonách použiju následující kód pro n:href, vygeneruje se mi odkaz brands/default (pouze pokud přejmenuji parametr „brand“ v routeru, tak se mi vytvoří odkaz /brands/default?brand=vyrobce). Chci ale aby byl odkaz např. brands/vyrobce (využívající default.latte). Po zadání adresy brands/vyrobce do prohlížeče se stránka načte v pořádku.

<a n:href="Brand_Info:,$brand['url_key']">{$brand['title']}</a>

Toto řešení bohužel použít nelze:
<a n:href="Brand_Info:{$brand['url_key']}">{$brand['title']}</a>

V případě, že odkaz přepíšu natvrdo na toto, odkaz je v pořádku:
<a n:href="Brand_Info:vyrobce">{$brand['title']}</a>

V routeru používám:
$pattern = "/brands/:brand[PLAIN_TEXT]";

Vně n:href se už {} nepoužívají

<a n:href="Brand_Info:$brand['url_key']">{$brand['title']}</a>

v routě nastav action=default
a url nastav

<a n:href="Brand_Info:default, $brand['url_key']">{$brand['title']}</a>
// zkrácená verze myslim taky jde ... raději to uvádím celé
<a n:href="Brand_Info:, $brand['url_key']">{$brand['title']}</a>

Editoval EIFEL (28. 1. 2014 14:15)

miloshavlicek
Člen | 5
+
0
-

Ano, toto tam přesně mám (uvádím celé)…

<a n:href="Brand_Info:default, brand=>$brand['url_key']">

vygeneruje se odkaz:

brands/default

Přitom URL z prohlížeče podle nastavené routy funguje.

EIFEL napsal(a):

miloshavlicek napsal(a):

Ahoj,
když v šablonách použiju následující kód pro n:href, vygeneruje se mi odkaz brands/default (pouze pokud přejmenuji parametr „brand“ v routeru, tak se mi vytvoří odkaz /brands/default?brand=vyrobce). Chci ale aby byl odkaz např. brands/vyrobce (využívající default.latte). Po zadání adresy brands/vyrobce do prohlížeče se stránka načte v pořádku.

<a n:href="Brand_Info:,$brand['url_key']">{$brand['title']}</a>

Toto řešení bohužel použít nelze:
<a n:href="Brand_Info:{$brand['url_key']}">{$brand['title']}</a>

V případě, že odkaz přepíšu natvrdo na toto, odkaz je v pořádku:
<a n:href="Brand_Info:vyrobce">{$brand['title']}</a>

V routeru používám:
$pattern = "/brands/:brand[PLAIN_TEXT]";

Vně n:href se už {} nepoužívají

<a n:href="Brand_Info:$brand['url_key']">{$brand['title']}</a>

v routě nastav action=default
a url nastav

<a n:href="Brand_Info:default, $brand['url_key']">{$brand['title']}</a>
// zkrácená verze myslim taky jde ... raději to uvádím celé
<a n:href="Brand_Info:, $brand['url_key']">{$brand['title']}</a>

Editoval miloshavlicek (28. 1. 2014 14:23)

Pavel Macháň
Člen | 282
+
0
-

miloshavlicek napsal(a):

Ano, toto tam přesně mám (uvádím celé)…

<a n:href="Brand_Info:default, brand=>$brand['url_key']">

vygeneruje se odkaz:

brands/default

Přitom URL z prohlížeče podle nastavené routy funguje.

EIFEL napsal(a):

Vně n:href se už {} nepoužívají

<a n:href="Brand_Info:$brand['url_key']">{$brand['title']}</a>

v routě nastav action=default
a url nastav

<a n:href="Brand_Info:default, $brand['url_key']">{$brand['title']}</a>
// zkrácená verze myslim taky jde ... raději to uvádím celé
<a n:href="Brand_Info:, $brand['url_key']">{$brand['title']}</a>

Ukaž komletní routu jak ji máš nastavenou se vším všudy

Editoval EIFEL (28. 1. 2014 14:25)

miloshavlicek
Člen | 5
+
0
-

Omlouvám se, problém byl v našem interním routeru.

Díky za pomoc!

iNviNho
Člen | 352
+
0
-

čiarka pri jednom parametri je nepovinná