Ergebnis 1 bis 5 von 5

Thema: In zwei Templates zwei unterschiedliche Text-Anpassungen default.xlf

  1. #1
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.862
    Contao-Projekt unterstützen

    Support Contao

    Standard In zwei Templates zwei unterschiedliche Text-Anpassungen default.xlf

    Hallo,

    ich bräuchte einen Best-practise Hinweis für Textanpassungen.

    Ich habe zwei Nachrichtenlisten
    • eine für den Blog
    • eine für Related News

    Beide verwenden aus den News heraus:
    Code:
          <trans-unit id="MSC.emptyList">
            <source>Currently there are no news items.</source>
            <target>Zurzeit sind keine Nachrichten vorhanden.</target>
          </trans-unit>
    Nun möchte ich aber, dass 'Zurzeit sind keine Nachrichten vorhanden' für die Related News anders beschrieben wird als für den Blog.

    Meine Überlegungen wären nun:
    • Anpassung der mod_newslist.html5
    • Anpassung der default.xlf

    Bei beiden kann ich ja wiederum nur einen neuen Standardtext vergeben.

    Habe ich an der einen oder anderen Stelle die Möglichkeit abzufragen, ob es sich um einen Blog-Beitrag oder um Related-news handelt - und dementsprechend wir der Text ausgegeben? Entweder über eine Sprachdatei, oder über das template fix reingeschrieben?

    Oder Abfrage, in welcher Seite das jeweilige Modul eingebaut ist?
    Ich möchte hier natürlich update-sicher bleiben bzw. mit der Gangart auch für Contao 5 ready sein.

    Freue mich über einen Wink
    Grüsse
    Bernhard


  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Ich würde dafür ein neues Feld in tl_module hinzufügen, wo du ein optionales "empty" label eintragen kannst - und das lässt du dann im mod_newslist Template ausgeben:
    PHP-Code:
    // templates/mod_newslist.html5
    $this->empty $this->news_emptyLabel ?: $this->empty;
    $this->extend('mod_newslist'); 
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.862
    Contao-Projekt unterstützen

    Support Contao

    Standard

    OK,

    verstehe ich das richtig:
    Wenn $this->news_emptyLabel im Modul nicht befüllt ist, dann wird der Standardtext aus default.xlf gezogen?

    Ja, das gefällt mir
    Danke dir!
    Grüsse
    Bernhard


  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Genau, ja
    » sponsor me via GitHub or PayPal or Revolut

  5. #5
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.862
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Um den thread für Nachleser noch zu vervollständigen:

    Wie @Spooky unter #2 vermerkt hat, habe ich nun eine DCA-Anpassung vorgenommen.

    Über eine DCA Anpassung erhalte ich ein weiteres Textfeld, in dem der Standard-Leertext angepasst werden kann.
    Da ich diesen nur im Zusammenhang mit der Erweiterung [fritzmg/contao-news-related] benötige, hatte ich das Feld auch in die entsprechende legend gesetzt

    PHP-Code:
    <?php 
    // contao/dca/tl_module.php

    use Contao\CoreBundle\DataContainer\PaletteManipulator;

    $GLOBALS['TL_DCA']['tl_module']['fields']['labelEmpty'] = [
        
    'label' => ['Hinweis überschreiben','Der Standardhinweis "Zurzeit sind keine Nachrichten vorhanden." wird bei leerer Ausgabe überschrieben.'],
        
    'inputType' => 'text',
        
    'eval' => ['tl_class' => 'w50''maxlength' => 255],
        
    'sql' => ['type' => 'string''length' => 255'default' => 'Es sind aktuell keine verwandten Einträge vorhanden.'],
    ];

    PaletteManipulator::create()
        ->
    addField('labelEmpty''news_related_legend'PaletteManipulator::POSITION_APPEND)
        ->
    applyToPalette('newslist''tl_module')
        ;
    und das Module dazu
    PHP-Code:
    <?php
    // templates/theme/mod_newslist.html5

    $this->empty $this->labelEmpty ?: $this->empty;
    $this->extend('mod_newslist');
    Im Backend fügt sich damit das gewünschte Textfeld ein:

    news-emptylabel.png

    Nicht vergessen: Prod.Cache erneuern und Datenbank aktualisieren
    Grüsse
    Bernhard


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
  •