Do not place {$basePath} inside quotes
- krucinal
- Člen | 38
Ahoj, upgraduju na nette 3 a potykam se s velkou nekompatibilitou na mnoha
urovnich a potrebuju help.
V tuhle chvili resim latte.
Prikladem muze byt toto:
$("div.sortable[group='" + group + "']").find("label").html('<img src="{$basePath}/images/ajax-loader-arrows.gif" />');
Coz generuje chybu: Do not place {$basePath} inside quotes
Pouzivam promennou $basePath tak jak to bylo v predchozich verzich nette doporucovane, coz je asi ok, ale nove latte uz prestalo umet to vypsat kdekoliv v sablone, coz je velky problem. konkretne mam pocit ze ta vlastnost byla odebrana uvnitr javascriptu.
Kdyz uz to budu tedy predelavat, coz zabere dost casu, jak to spravne zapsat, aby to zase s pristi verzi nette neprestalo fungovat?
Diky za kazdou radu/nazor
- David Grudl
- Nette Core | 8192
Tento způsob nebyl v žádné verzi správný natož doporučovaný, ani dosud neexistuje žádná podpora pro HTML uvnitř Javascriptu.
Element obrázku můžeš vyrobit pomocí
$('<img>', {src: {$basePath} + '/images/ajax-loader-arrows.gif'})
a pak jím nahradit labely.
- krucinal
- Člen | 38
David Grudl napsal(a):
Tento způsob nebyl v žádné verzi správný natož doporučovaný, ani dosud neexistuje žádná podpora pro HTML uvnitř Javascriptu.
V principu mi nejde o podporu cehokoliv, slo jen o proste vypsani hodnoty nejake promenne v templatu, coz driv slo. Nejde mi vubec o to, aby latte jakymkoliv zpusobem cokoliv podporovalo/upravovalo/menilo, to je jen zdroj problemu. Staci mi, kdyz se vypise to co napisu ja a mam kontrolu nad tim co tam bude :)
Ad doporucovane – mas pravdu, mozna to nebylo doporucovane, ale byvalo to v prikladech a v sandboxu (pouzivani {$basePath} v sablone s tim, ze za to byl napojeny kus relativni cesty.
>
Element obrázku můžeš vyrobit pomocí
$('<img>', {src: {$basePath} + '/images/ajax-loader-arrows.gif'})
a pak jím nahradit labely.
Taky reseni, i kdyz trochu zvlastni. Nedovedu si predstavit, ze bych si neco takoveho mel zapamatovat, dost kostrbate.
Kazdopadne diky za podporu
- Marek Bartoš
- Nette Blogger | 1230
V principu mi nejde o podporu cehokoliv, slo jen o proste vypsani hodnoty nejake promenne v templatu, coz driv slo. Nejde mi vubec o to, aby latte jakymkoliv zpusobem cokoliv podporovalo/upravovalo/menilo, to je jen zdroj problemu.
Tady je třeba zvážit i otázku bezpečnosti. Latte má context-aware escaping a nechat tiše projít vypsání hodnoty v neznámém, nepodporovaném či s jistotou neurčitelném kontextu může způsobit problém, pokud na escapování spoléháš