Formátování textu z databáze
- MichalJ
- Člen | 6
Ahoj,
řeším problém s formátováním textu z databáze (článku). Mám ho tam
uložený včetně základních html značek (br,p,img..), ale latte šablona to
jako HTML nepřekládá.
Vím, že se tu problém již řešil (https://forum.nette.org/…vaneho-textu),
ale vzhledem k tomu že jsem v Nette začátečník, chtěl bych poprosit
o podrobnější návod jak rozjet to Texy – kam zaregistrovat apod.
Případně existuje nějaký jiný způsob jak HTML z databaze v latte zprovoznit?
Děkuji,
Michal
- MichalJ
- Člen | 6
Ahoj,
omlouvám se, ale vzhledem k pracovní vytíženosti jsem se k problému
nestihl vrátit dříve.
Vývojový režim zapnutý nemám, je to normálně na produkčním webu.
Zjistil jsem, že tagy jsou v databazi uloženy správně ve formátu
(<p><b> …), ale pak když si zobrazím zdrojový kod stranky tak
jsou ve formátu <p> a podobně.
Zřejmě musím použít nějakou kombinaci dešifrovacích funkcí, zkoušel
jsem html_entity_decode() a další podobné.. ale správné řešení se mi
ještě nalézt nepodařilo.
Editoval MichalJ (19. 4. 2018 22:13)
- Pavel Kravčík
- Člen | 1196
@MichalJ: Tak si vymaž cache. Změna se nemusí projevit hned. :) Jak už radil výše @kejlicz.
- GEpic
- Člen | 566
Zjistil jsem, že tagy jsou v databazi uloženy správně ve formátu (<p><b> …), ale pak když si zobrazím zdrojový kod stranky tak jsou ve formátu <p> a podobně.
@MichalJ však už ti to @jik psal nahoře:
{$promenna|noescape}
dej to tam, promaž cache a bude ti to fungovat správně.
Editoval GEpic (20. 4. 2018 11:11)
- David Matějka
- Moderator | 6445
@TheNEoo ahoj, takovy filter je zbytecny, bude delat v podstate to
same, jako |noescape
.. ale co radeji pouzivam je, ze rovnou ten
Html objekt posilam z presenteru do sablony. v te pak neni nutne
|noescape
pouzit
- GEpic
- Člen | 566
noescape bych se asi vyhnul při výpisu dat z databáze, když vím, že tam bude html.
Jedna věc je chránit výpis, a druhá věc je chránit tento html kód už při uložení (ořezat od něj, co nechceš – <script>, <iframe>, atp.). Protože když se nad tím zamyslíš, pokud nechceš aby se nějaké věci vypisovali a pokaždé je při „renderu“ hlídáš, neni lepší tomu předejít a nenechat si to ani ukládat do databáze?
Editoval GEpic (21. 4. 2018 11:46)