Texy! + Latte & <nette:texy>
- cactux
- Člen | 12
Ahoj,
Existuje nějaká možnost jak použít Texy! a Nette (nebo Latte) jak bylo
ukázáno Davidem Grudlem v článku Jak si rozmí
Nette s Texy! (z roku 2006)? Tedy tak, že se nette kód uzavře do tagu
<nette:texy>
(nebo něco na ten způsob).
- Jan Tvrdík
- Nette guru | 2595
Nejjednodušší je zaregistrovat si filtr (dříve se tomu říkalo helper)
texy
a v šabloně pak použít něco jako:
{block|texy}
**tučný text**, ...
{/block}
Nebo si můžeš vytvořit vlastní makro {texy}...{/texy}
, což
ti umožní překládat ten text v rámci kompilace.
- japlavaren
- Člen | 404
Prehladal som zdrojaky nette a texy mi nenaslo, takze predpokladam, ze
nativna podpora tam nieje.
Takze by som to riesil nasledovne:
1. vytvoril sluzbu TexyFilter, ktora by vytvorila texy a nastavila vsetko potrebne
<?php
// service sa mi nechce pisat, v skratke:
// objekt ktory bude mat metodu process ktora to prezenie cez texy
// k texy pristupovat ako k singleton, tj. objekt private propperty a k nej getter ktory vytvori ak neexistuje
?>
2. zaregistroval ju v neone,
service:
texyFilter: App\Model\TexyFilter
3. zaregistroval filter
service:
nette.latteFactory:
setup:
- addFilter(null, [@texyFilter, process])
4. v sablone mozes pouzivat nasledovne
{$text |texy}
ps: aby si v sablone nemusel zakazovat escapovanie texy, vracaj si vystup zo service alo objekt Html, ten latte neescapuje
Editoval japlavaren (4. 8. 2014 17:01)