n:attributy ve více šablonách – Namespace ‚n‘ is not bound
- Marek Bartoš
- Nette Blogger | 1280
Můžete sem dát ukázku chyby nebo minimální repliku? Takovou chybu jsem viděl jen v xml, latte nic takového nedělá. n:attributy by měly fungovat v jakékoli latte šabloně.
- Level3301
- Člen | 10
Mabar napsal(a):
Můžete sem dát ukázku chyby nebo minimální repliku? Takovou chybu jsem viděl jen v xml, latte nic takového nedělá. n:attributy by měly fungovat v jakékoli latte šabloně.
Latte
"":https://cdn.discordapp.com/…/unknown.png
Výsledek – odkaz jakoby neexistuje
"":https://cdn.discordapp.com/…/unknown.png
Editoval Level3301 (20. 2. 2021 13:08)
- Marek Bartoš
- Nette Blogger | 1280
Otevřete nastavení
File | File Properties | Associate with File Type...
a přepněte
na Latte. Přepli jste si nastavení typu souboru na xml a podle toho s ním
phpstorm nakládá
- mesour
- Nette Blogger | 236
Level3301 napsal(a):
Zdravím,
v projektu mám více jak jednu šablonu…
Když se ale pokusím použít n:attributy v jiné než upravené „defaultní“ šabloně, tak mi to hlásí chybu:
Namespace ‚n‘ is not bound.
Nechce se mi psát odkazy staticky…
Předem děkuji za jakoukoliv pomoc.
Ahoj, nehlásí ti PhpStorm nějaké exceptiony (vpravo dole v PhpStormu bliká červený vykřičník)? Pokud by to tak bylo, mohl by jsi sem přeposlat stack trace té exceptiony?
Editoval mesour (20. 2. 2021 13:20)
- Šaman
- Člen | 2667
Příště zkus lépe popsat chybovou situaci. Když napíšeš, že TO
hlásí chybu, předpokládáme, že TO je aplikace. Na což moc nemáme
nápady proč by jedna šablona n:atributy znala a druhá ne.
Chápu to tedy tak, že ti aplikace bez problémů běhá, ale jeden konkrétní
editor se chová zvláštně?
Editoval Šaman (20. 2. 2021 13:34)
- Level3301
- Člen | 10
Šaman napsal(a):
Příště zkus lépe popsat chybovou situaci. Když napíšeš, že TO hlásí chybu, předpokládáme, že TO je aplikace. Na což moc nemáme nápady proč by jedna šablona n:atributy znala a druhá ne.
Chápu to tedy tak, že ti aplikace bez problémů běhá, ale jeden konkrétní editor se chová zvláštně?
Příště popíšu lépe.
Aplikace problémy nedělá…
Nevím jak se chová editor, ale vím, že se n:href=„Home:default“
nezmění na href=„/Home/default“.
Editoval Level3301 (20. 2. 2021 13:47)
- Marek Bartoš
- Nette Blogger | 1280
Ujisti se, že jsi ve File pattern
vybral *.latte
,
by default je v patternu jen název otevřeného souboru, takže se to pro
jiné nenastaví.
Též je možné, že budeš muset promazat File name patterns
pro XML
či XHTML
v Settings | Editor | File types
- Marek Bartoš
- Nette Blogger | 1280
ale vím, že se n:href=„Home:default“ nezmění na href=„/Home/default“
A ty máš routu pro Home:default
s url adresou
Home/default
? Něco
jako new Route('Home/default', 'Home:default')
- Level3301
- Člen | 10
Mabar napsal(a):
Ujisti se, že jsi ve
File pattern
vybral*.latte
, by default je v patternu jen název otevřeného souboru, takže se to pro jiné nenastaví.Též je možné, že budeš muset promazat
File name patterns
proXML
čiXHTML
vSettings | Editor | File types
Provedl jsem, ale problém stále přetrvává. :(
- Level3301
- Člen | 10
Mabar napsal(a):
ale vím, že se n:href=„Home:default“ nezmění na href=„/Home/default“
A ty máš routu pro
Home:default
s url adresouHome/default
? Něco jakonew Route('Home/default', 'Home:default')
Takhle vypadá RouterFactory
final class RouterFactory
{
use Nette\StaticClass;
public static function createRouter(): RouteList
{
$router = new RouteList();
$router->addRoute('Admin/Home/default', 'Admin:Home:default');
$router->addRoute('Default/Home/default', 'Default:Home:default');
$router->withModule("Default")
->addRoute("<presenter>/<action>", "Home:default")
->addRoute("<presenter>/<action>", "Login:default")
->addRoute("<presenter>/<action>", "Login:out");
$router->withModule("Admin")
->addRoute('<presenter>/<action>', 'Home:default')
->addRoute('<presenter>/<action>', 'News:default');
return $router;
}
}
Problém je v tom, že n:href funguje v mé základní šabloně, ale v té druhé ne.
Editoval Level3301 (20. 2. 2021 14:01)
- Marek Bartoš
- Nette Blogger | 1280
Home:default
je relativní odkaz, v závislosti na modulu se
nebude chovat stejně. Absolutní odkazy začínají dvojitečkou, takže bys
použil například :Default:Home:default
n:href
se ti navíc bude chovat rozdílně v závislosti na tom,
zda je použit v presenteru nebo komponentě
Viz kapitolu https://doc.nette.org/…eating-links