Guten Tag liebe Community,
mir ist in Contao 4.12 etwas interessantes aufgefallen.
Ich habe ein Text-Elemente angelegt und dieses wie folgt befüllt:
HTML-Code:
<cite role="test">Hello</cite>
Nach dem Speichern stand dann nur noch folgendes darin:
HTML-Code:
<cite>Hello</cite>
Es wurde also mein role-Attribut entfernt. Aber wieso ist dem so?
Ich habe es dann auch mal mit einem anderen Element (Direkt über ein HTML-Element) versucht und auch dort wurde mein role-Attribute entfernt.
Kann mir jemand sagen, wieso dem so ist?
Muss ich hier irgendwo dieses Attribute gesondert freigeben?
Vielen Dank für eure Hilfe!
Edit #1: Durch weiteres Testen habe ich nun herausgefunden, dass es hier wohl mit folgenden Eval-Konfigurationen zu tun hat:
PHP-Code:
'eval' => array('allowHtml'=>true, 'class'=>'monospace', 'rte'=>'ace|html', 'helpwizard'=>true),
Dabei nehmen folgende Konfigurationen Einfluss auf das Entfernen des "role" - Attributes:
PHP-Code:
'eval' => array('allowHtml'=>true),
Und
PHP-Code:
'eval' => array(''rte'=>'html'),
Hier liegt wohl eine Funktionalität dahinter, welche eine Art save_callback ausführt und die Elemente um das "role" - Attribute beschneidet.
Leider weiß ich nicht, wo ich diese Funktionalität der Eval-Konfigurationen einsehen kann.
Hat hier jemand noch einen Tipp für mich?
Edit #2: Durch weitere Suche habe ich nun herausgefunden, dass der Grund wirklich in der Eval-Konfiguration liegt.
Durch diese wird dann in der Widget.php die strMethod gesetzt, welche dann für das Beschneiden des role-Attributes sorgt.
Durch das Setzen von "preserveTags => 'true'" in den DCAs sollte dann die role behalten werden.
Jetzt ist nur noch die Frage, wieso das überhaupt entfernt wird, da es ja eigentlich valides html darstellt.
Lesezeichen