Rozdílné escapování translatoru
- elnathan
- Člen | 19
Zdravím, je v pořádku (chtěné), že překlad pomocí
{_'text & <strong>bold</strong>'}
je
escapován, zatímco
{translate}text & <strong>bold</strong>{/translate}
escapován není?
Ukázka: https://fiddle.nette.org/latte/#…
Je možné nějak globálně vynutit, aby se překlady z kratšího zápisu
{_'...'}
taky neescapovali jako je tomu u
{translate}...{/translate}
, bez nutnosti přidávat všude
|noescape
(zároveň nechci vypnout escapování všech
proměnných)? Děkuji.
- elnathan
- Člen | 19
@DavidGrudl Já že v dokumentaci to že jeden je escapován a druhý ne, tak jsem nenašel. Je dost možné, že budou někteří lidé překvapeni = očekávají, že v Nette je vše automaticky escapováno a najednou ne. Nicméně já to tedy beru tak, že to je schválně a přizpůsobím se tomu, děkuji.
- David Grudl
- Nette Core | 8258
V dokumentaci se píše, že při vypisování se escapuju výstup. Ale jestli máš pocit, že by to mělo být někde konkrétně zmíněno, klidně pošli PR do dokumentace.
- Marek Bartoš
- Nette Blogger | 1298
Může to být trochu matoucí v tom, že jsou to dvě funkce řešící totéž, ale výsledek je jiný, i když je zdánlivě stejný vstup.
V jednom případě ale předáváš jako vstup string, který může přijít v proměnné od uživatele, v druhém případě předáváš HTML kód, který píšeš do šablony. A HTML které píšeš do šablony se přece nikdy neascapuje, nejde o vstup od uživatele.
Když do translate předáš proměnnou, tak výstup bude stejný https://fiddle.nette.org/latte/#…