Contao-Camp 2024
Ergebnis 1 bis 3 von 3

Thema: Modul-Headline (Überschirft) ausgeben und mit HTML erweitern

  1. #1
    Contao-Nutzer
    Registriert seit
    31.03.2016.
    Beiträge
    14

    Standard Modul-Headline (Überschirft) ausgeben und mit HTML erweitern

    Guten Morgen Leute,

    ich habe verschiedene Module vom Typ "Nachrichtenarchiv" mit dem Template "news_latest" erstellt. Diese Archive/Module werden dann alle gemeinsam im Artikel "Chronik" ausgegeben. Jedes Modul hat eine headline z.B. "Familie Oppenheim". Wenn ich jedoch das Template "news_latest" bearbeiten möchte, um die HTML Struktur um diese headline herum zu erweitern, stelle ich fest, dass diese headline nicht im besagten template vorhanden ist. Diese muss aus meiner Sicht in einem übergeordneten Template liegen, aber ich weiß nicht in welchem. Ich habe bereits viele durchgeschaut.
    Auch das Ansprechen über eine Templatevariable ist bis jetzt gescheitert.

    Ich habe bereits einige Forumsbeiträge zu diesem Thema gelesen, aber keines konnte mir gezielt weiterhelfen.

    Ziel: Ich benötige das Template zum Modul, welches die headline beinhaltet, da ich den HTML-Code um die h1 erweitern möchte

    Screen1 zeigt hier ganz konkret, dass die <h1> innerhalb des mod_newsarchiv-divs liegt. Das Datum "1873 - 1889" habe ich als Templatevariable im Template stehen. Ich benötige ein <div>, dass diese beiden Elemente umschließt. screen2 zeigt, wie es später aussehen soll.

    Ich bin euch auch für andere Herangehensweisen dankbar :-)
    Angehängte Grafiken Angehängte Grafiken

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

    Standard

    Wie du hier siehst, erweitert das mod_newsarchive Template das block_unsearchable Template.
    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

    <?php $this->block('content'); ?>

      <?php if (empty($this->articles)): ?>
        <p class="empty"><?= $this->empty ?></p>
      <?php else: ?>
        <?= implode(''$this->articles?>
        <?= $this->pagination ?>
      <?php endif; ?>

    <?php $this->endblock(); ?>
    Das block_unsearchable Template sieht wiederum so aus:
    PHP-Code:
    <!-- indexer::stop -->
    <div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>

      <?php if ($this->headline): ?>
        <<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>>
      <?php endif; ?>

      <?php $this->block('content'); ?>
      <?php $this->endblock(); ?>

    </div>
    <!-- indexer::continue -->
    Leider gibt es also für die Überschrift keinen eigenen Block (das kommt erst in Contao 4.2), daher kannst du aus dem mod_newsarchive Template auch nicht die Überschrift verändern, wenn du weiterhin das block_unsearchable Template erweiterst.

    Die Lösung ist daher das block_unsearchable Template nicht zu erweitern, sondern den Inhalt von block_unsearchable und mod_newsarchive zusammen zu führen:
    PHP-Code:
    <!-- indexer::stop -->
    <div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>

      <h1>My custom headline</h1>

      <?php if (empty($this->articles)): ?>
        <p class="empty"><?= $this->empty ?></p>
      <?php else: ?>
        <?= implode(''$this->articles?>
        <?= $this->pagination ?>
      <?php endif; ?>

    </div>
    <!-- indexer::continue -->
    Siehe auch https://github.com/contao/core/issues/8165

  3. #3
    Contao-Nutzer
    Registriert seit
    31.03.2016.
    Beiträge
    14

    Standard

    Super! Vielen Dank, es hat funktioniert!
    Hatte auch mit der Möglichkeit gespielt über die dcaconfig.php HTML in den Modulüberschirften zu erlauben; Ist aber ein wirklich schmutzige Lösung :-)

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
  •