Dá se v šablonách vypnout escapování pro macro ‚_‘?
- Filip Procházka
- Moderator | 4668
V tom případě všechno co ti vypadne z helperu translate
obal do Nette\Utils\Html a
escapování nebudeš muset NIJAK vypínat
(DOPORUČENO!!!).
Funguje to všude v latte
$this->template->html = Nette\Utils\Html::el()->setHtml("<br />");
{$html}
{* vypíše: *}
<br />
Takže cca takhle
public function translate($text)
{
return Nette\Utils\Html::el()->setHtml($this->translator->translate($text));
}
{_'text'}
Viz https://github.com/…reMacros.php#…
Samozřejmě s tím souvisí, že jestli pracuješ nějak s parametry, tak tyto parametry bys měl řádně escapovat, než je vložíš do přeloženého stringu.
- Caine
- Člen | 216
@enumag je to spíš z pohodlnosti, a taky aby jednou nebylo psaný {!_'text'} a jinde jen funkce _(‚text‘).
@Filip Procházka děkuju za odpověď. Do zdrojáku maker jsem koukal, ale to s Html jsem tam nikde neviděl:) Ale jestli to jinak nejde, než pro každej string vytvářet Html objekt, tak to asi radši budu vypínat přes vykřičník ručně:) Každopádně jsem rád, že už teď vím, jak to případně udělat.
Editoval Caine (2. 6. 2013 19:09)