Liebe Contao-Experten,
spricht irgend etwas dagegen, in der Sprachdatei einer Erweiterung die Funktion Controller::getContentElement() zu verwenden, um Sprachdefinitionen aus Inhaltselementen zu beziehen? Ich stelle mir das z.B. so vor:
PHP-Code:
$GLOBALS['TL_LANG']['tl_member']['personalData'] = Controller::getContentElement(41);
$GLOBALS['TL_LANG']['tl_member']['addressDetails'] = Controller::getContentElement(42);
$GLOBALS['TL_LANG']['tl_member']['contactDetails'] = Controller::getContentElement(43);
Hintergrund: Ich habe in der Mitgliederverwaltung einige zusätzliche Datenfelder hinzugefügt. Die Felder sind in der DCA-Datei einer eigenen Erweiterung konfiguriert und den Abschnitten "Personendaten", "Adressdaten" und "Kontaktdaten" zugeordnet. Jetzt möchte ich im Frontend-Formular "Persönliche Daten" (wo registrierte Mitglieder ihre Daten verwalten können) die Überschriften der Abschnitte ändern und mit zusätzlichen Texten ergänzen. Und als Krönung soll das Ganze so gemacht sein, dass man die Überschriften und Texte im Backend ändern kann.
Als Lösung ist mir folgendes eingefallen:
- Die neuen Überschriften und zusätzlichen Texte als HTML-Inhaltselemente anlegen: <legend>Überschrift</legend><p>Text Text Text</p>
- Die Inhaltselemente mit der Funktion getContentElement() in den Sprachdefinitionen meiner Erweiterung einbinden, wie oben gezeigt
- Im Template member_grouped.html5 die <legend> tags entfernen (also z.B. in 3.4.5 <legend><?php echo $legend; ?></legend> ersetzen durch <?php echo $legend; ?>)
Das funktioniert zwar, aber ich bin mir nicht so sicher, ob die Verwendung der Funktion getContentElement() in einer Sprachdatei in Ordnung ist. Alternativ könnte man die Funktion auch im Template member_grouped.html5 verwenden, das ist allerdings etwas aufwändiger.
Was sagt Ihr dazu?
Lesezeichen