Contao-Camp 2024
Ergebnis 1 bis 7 von 7

Thema: Contao 4.9.x Metadaten Titel eines Galeriebildes im FE ausgeben

  1. #1
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard Contao 4.9.x Metadaten Titel eines Galeriebildes im FE ausgeben

    Gerne möchte ich den im Backend in der Dateiverwaltung zu einem Bild angegebenen Metadaten Titel innerhalb einer Galerie im Frontend ausgeben; das HTML könnte dann so aussehen:
    HTML-Code:
    <figure class="image_container">
    <picture>
    <img>
    </picture>
    <figcaption class="caption">Bildunterschrift</figcaption>
    <div class="titletext">Der Titel</div>
    </figure>
    Dank meiner eigentlich nicht vorhandenen PHP-Kenntnisse weiss ich jetzt nicht welches Templates ich wie bearbeiten muss? Für Tipps und Hinweise wäre ich dankbar.
    Geändert von 3dr (15.06.2021 um 11:15 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    So, über
    PHP-Code:
    <?php
      $this
    ->dumpTemplateVars();
    ?>
    habe ich herausgefunden, dass ich das Template image.html5 so bearbeiten kann:
    PHP-Code:
    <figure class="image_container<?= $this->floatClass ?>"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>
      <?php if ($this->imageHref || $this->href): ?>
        <a href="<?= $this->imageHref ?: $this->href ?>"<?php if ($this->linkTitle): ?> title="<?= $this->linkTitle ?>"<?php endif; ?><?= $this->attributes ?>>
      <?php endif; ?>

      <?php $this->insert('picture_default'$this->picture); ?>

      <?php if ($this->imageHref || $this->href): ?>
        </a>
      <?php endif; ?>

      <?php if ($this->caption): ?>
        <figcaption class="caption"><?= $this->caption ?></figcaption>
       <div class="titletext"><?= $this->imageTitle ?></div>
      <?php endif; ?>
    </figure>
    Für die Ausgabe eines einzelnen Bildes wird mir im FE nun ein Bildtitel angezeigt. Leider funktioniert das aber nicht wenn Bilder innerhalb einer Galerie verwendet werden. Ab hier komme ich nicht weiter; any ideas

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

    Standard

    Ab Contao 4.9.13 sollte die Änderung des image Templates eigentlich reichen - es sei denn du hast bereits ein angepasstes gallery_default Template. Dann musst du das gallery_default Template löschen bzw. entsprechend aktualisieren.
    » sponsor me via GitHub or PayPal or Revolut

  4. #4
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Danke Spooky,
    ein angepasstes gallery_default Template benutze ich nicht. Ein image.html5 template mit diesem Inhalt:
    PHP-Code:
    <figure class="image_container<?= $this->floatClass ?>"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>
      <?php if ($this->imageHref || $this->href): ?>
        <a href="<?= $this->imageHref ?: $this->href ?>"<?php if ($this->linkTitle): ?> title="<?= $this->linkTitle ?>"<?php endif; ?><?= $this->attributes ?>>
      <?php endif; ?>

      <?php $this->insert('picture_default'$this->picture); ?>

      <?php if ($this->imageHref || $this->href): ?>
        </a>
      <?php endif; ?>

    <div class="titletext"><?= $this->imageTitle ?></div>

      <?php if ($this->caption): ?>
        <figcaption class="caption"><?= $this->caption ?></figcaption>
      <?php endif; ?>
    </figure>
    erzeugt in einem Content-Element Bild dieses HTML, der Container <div class="titletext"></div> wird befüllt:

    HTML-Code:
    <figure class="image_container">
    <img src="">
    <div class="titletext">Metaangabe Titel</div>
    <figcaption class="caption">Bildunterschrift</figcaption>
    </figure>
    In einem Content-Element Galerie hingegen wird dieses HTML erzeugt, der Container <div class="titletext"></div> bleibt leer:

    HTML-Code:
    <figure class="image_container">
    <a href="link" title="Metaangabe Titel" data-lightbox="lbnr" class="cboxElement">
    <picture>
    <source srcset="">
    <img src="">
    </picture>
    </a>
    <div class="titletext"></div>
    <figcaption class="caption">Bildunterschrift</figcaption>
    </figure>
    Wie erreiche ich, dass mir die Metaangabe Titel auch in der Listenansicht aller Bilder einer Galerie im FE angezeigt wird. Vielen Dank für Hilfe und Support.
    Geändert von 3dr (15.06.2021 um 11:48 Uhr)

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

    Standard

    Hast du denn mit $this->dumpTemplateVars() schon überprüft was du in einer Galerie im image Template bekommst?
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Hi Spooky,
    ich denke schon, dort habe ich diese Zeile gefunden:

    Code:
    "linkTitle" => "Metaangabe Titel"
    und bei Verwendung der Variablen im Template image.html5 wird mir ja auch die eingetragene Metaangabe angezeigt. Oder welche Informationen fehlen hier?

  7. #7
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Aaaaaaha,
    um die Metadaten Titel auch in einer Galerie auszugeben muss im Template image.hmtl5 die Variable
    Code:
    linkTitle
    und nicht die Variable
    Code:
    imageTitle
    verwendet werden. Vielen Dank für deine Hilfe zur Selbsthilfe, Spooky. You made my day

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
  •