Smarty HTML String ausgeben

In Smarty ist eigentlich möglich mittels {$html nofilter} bzw. {$html|unescape:'html'} HTML unescaped auszugeben. In OXID (zumindest in 4.x) fehlen diese Smarty Plugins.

Die Artikelbeschreibung (RTE) wird mittels [{oxeval var=$oLongdesc}] (page/details/inc/tabs.tpl) ausgegegen (interpretiert dann weitere Smarty Tags aus dem RTE?).

Hier im Forum wurde an anderer Stelle empfohlen es mittels [{ $html|html_entity_decode }] zu machen.

Also eval für Inhalte mit potentiellen Smarty Tags und ansonsten html_entity_decode?
Wieso fehlen denn die Smarty Plugins?

EDIT: aha, jetzt verstehe ich das. [{ $html }] escaped ja gar nichts. In meinem Fall war $html ein oxField und dieses wendet htmlspecialchars() beim __toString() an. Na dann.

weil OXID noch Smarty v2 hat, die verlinkte Antwort von SO bezieht sich auf Smarty v3

1 Like