Ergebnis 1 bis 6 von 6

Thema: Inhaltselement CSS-Klasse per individuellem Template hinzufügen

  1. #1
    Contao-Nutzer Avatar von a-v-l
    Registriert seit
    20.09.2013.
    Ort
    Freiburg im Breisgau
    Beiträge
    88

    Standard Inhaltselement CSS-Klasse per individuellem Template hinzufügen

    Hallo zusammen!

    Ich möchte dem Inhaltselement "Bild" genau dann die CSS-Klasse "has-caption" hinzufügen, wenn das auch der Fall ist. Dazu habe ich das Template "ce-Image.html" versucht so zu erweitern:

    PHP-Code:
    if ($this->caption) {
      
    $this->classes[] = "has-caption";

    Leider führt das zu nichts. Hatte ich mir aber auch schon gedacht, da $this->classes geschützt ist.

    Wie könnte ich das trotzdem umsetzen ohne, dass der Nutzer die Klasse jedesmal manuell eingeben muss?

    Vielen Dank und Grüße in die Runde!
    Arndt

  2. #2
    Contao-Fan
    Registriert seit
    16.11.2012.
    Ort
    Freiburg
    Beiträge
    539

    Standard

    Da wird ja schon eine Klasse gesetzt. Füg deine einfach ein.

    https://github.com/contao/core/blob/...ce_image.html5

  3. #3
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    PHP-Code:
    <figure class="image_container<?php if($this->caption): ?> has-caption<?php endif; ?>"<?php if ($this->margin): ?> style="<?= $this->margin ?>"<?php endif; ?>>
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  4. #4
    Contao-Nutzer Avatar von a-v-l
    Registriert seit
    20.09.2013.
    Ort
    Freiburg im Breisgau
    Beiträge
    88

    Standard

    Danke für die Antworten, aber ich habe mich scheinbar falsch ausgedrückt: Ich versuche dem übergeordneten Block eine Klasse hinzuzufügen:

    HTML-Code:
    <div class="ce_image block has-caption">
      <figure class="image_container">  
        <img src="assets/images/a/XYZ.jpg" alt="xyz">
        <figcaption class="caption">
          Lorem Ipsum
        </figcaption>
      </figure>
    </div>
    vs.

    HTML-Code:
    <div class="ce_image block">
      <figure class="image_container">  
        <img src="assets/images/a/XYZ.jpg" alt="xyz">
      </figure>
    </div>

  5. #5
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das Array ->classes ist wohl nur zum checken dort drin. Die Klasse wird aus ->class ins Template gerendert. Versuch mal das hier:
    PHP-Code:
    <?php
      $this
    ->extend('block_searchable');
      
    $this->class $this->caption $this->class.' has_caption' $this->class;
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  6. #6
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn du sowas öfters machst und keine angepassten Templates haben möchtest, dann kannst du auch leicht ein eigenes JS-Script dafür schreiben. Nach CAPTIONs suchen und den Parents die Klasse "has_caption" hinzufügen. Das wäre dann übersichtlicher.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

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
  •