Zum Inhalt springen

newloginbox LOCAL_LANG mit HTML-Tags

Erstellt am 16. Januar 2008 · 3 Antworten · letzte Antwort am 16. Januar 2008

Tags: felogin, Frage

lemmork ·

Hallo,

gibt es eine Möglichkeit in die Locallang-Texte des Plugins newloginbox HTML-Tags einzubauen?
Z.B. so:

plugin.tx_newloginbox_pi1 {
	_LOCAL_LANG.de {
              oLabel_msg_welcome = <strong>Hallo</strong>...

In den Flexform-Feldern ist es ja möglich html-Tags einzusetzen, aber geht das auch irgendwie mit TS?

Danke für Eure Hilfe

lemmork ·

Bei mir lautet die Ausgabe für den Fall:
<strong>Hallo</strong>

Ich hab es jetzt mal direkt ins Setup geschrieben (war vorher in einer externen TS-Datei). Aber auch dann werden die HTML-Tags mit ausgegeben.
Nutze t3 Version 4.1.5 und newloginbox V. 3.1.0

lemmork ·

So ein Blick in den Quellcode der Extension zeigt auch, warum es nicht geht.

Die Labels werden mit dieser Funktion ausgelesen:

function getOutputLabel($key, $sheet, $field) {
			$dataF = nl2br(trim(strip_tags($this->pi_getFFvalue($this->cObj->data['pi_flexform'], $field, $sheet), '<b><i><a>')));
			// The possible entities from the flexform should theoretically be htmlspecialchars()'ed for XHTML compatibility - but this was not easy to just fix since SOME HTML should be allowed! Further, allowing HTML with strip_tags does not prevent wrong attributes and mixing of character case!
			return $dataF ? $dataF : nl2br(trim($this->pi_getLL('oLabel_'.$key, '', 1)));
		}

dabei wird das label, welches aus der locallang-datei ausgelesen wird nochmal durch htmlspecialchars gejagt, wodurch die html-Tags nicht mehr als Tags ausgegeben werden.

In der Zeile letzten Zeile die 1 in eine 0 umwandeln, damit htmlspecialchars nicht mehr ausgeführt wird:

return $dataF ? $dataF : nl2br(trim($this->pi_getLL('oLabel_'.$key, '', 0)));

Und dann gehts.