Ergebnis 1 bis 3 von 3

Thema: Controller::getContentElement() in Sprachdatei verwenden?

  1. #1
    Contao-Nutzer
    Registriert seit
    11.05.2014.
    Beiträge
    20

    Standard Controller::getContentElement() in Sprachdatei verwenden?

    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:
    1. Die neuen Überschriften und zusätzlichen Texte als HTML-Inhaltselemente anlegen: <legend>Überschrift</legend><p>Text Text Text</p>
    2. Die Inhaltselemente mit der Funktion getContentElement() in den Sprachdefinitionen meiner Erweiterung einbinden, wie oben gezeigt
    3. 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?

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Für mich hört sich die Vorgehensweise etwas unsauber an, da ich Sprachdateien eher als etwas statisches ansehe.

    Wenn es dir nur darum geht die Sprach Labels im Backend bearbeitbar zu machen, würde ich dir den Spracheeditor empfehlen.

    Ich habe die ursprüngliche Erweiterung von Tristan für Contao 3 überarbeitet. Ist allerdings nur über Composer installierbar:
    https://github.com/netzmacht/contao-language-editor

  3. #3
    Contao-Nutzer
    Registriert seit
    11.05.2014.
    Beiträge
    20

    Standard

    webstar: Danke für die schnelle Antwort und für den Tipp mit dem language-editor, den kannte ich nicht. Habe ihn leider bisher noch nicht zum Laufen gebracht, werde es weiter versuchen.

    Aber nochmal zu der ursprünglichen Frage: Meinst Du denn, dass die Methode irgendwelche negativen Auswirkungen haben könnte?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •