Latte, noescape bez pisania parametru
- leaff
- Člen | 10
Ahoj, chcem dosiahnuť jednoduchý preklad webu (Kdyby/Translation) tym že pri každý text z translatoru vygenerujem tlačidlo ktoré by otvorilo popup kde by sa konkrétny text prepísal.
cez presenter to ide a normalne to genruje html:
echo $this->translator->translate('messages.homepage.hello');
ale v latte sa to escapuje:
{_messages.homepage.hello}
treba pridať
{_messages.homepage.hello |noescape}
nikde som nenašiel ako to vypnúť globalne pre všetky lattečka bez toho aby tam bolo nutne písať parameter noescape
nejaké nápady ako to riešiť ?
- Jan Mikeš
- Člen | 771
Řešil jsem asi podobnou situaci jako popisuješ – pro běžného uživatele se zobrazí pouze přeložený text, pro přihlášeného administrátora se za přeloženým textem zobrazuje button s linkem na editaci textu (je již jedno jestli to je popup nebo o co jde).
Vyřešil jsem to tak, že mám více implementací translatoru, běžný
uživatel dostává „obyčejný“ translator, který vrací pouze string, a
„EditorTranslator“ místo stringu vrací instanci
Nette\Utils\Html
, kterou latte rovnou vykreslí a nepotřebuje
escapovat každý překlad.
S trochou fantazie, by to mohlo fungovat i u tebe.
Editoval Lexi (15. 9. 2016 0:00)