Ankündigung

Einklappen
Keine Ankündigung bisher.

Attribute ohne Wert im Frontend nicht darstellen

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Attribute ohne Wert im Frontend nicht darstellen

    Wie kann ich Attribute welchen keinen Wert enthalten von der Darstellung im Frontend ausschließen? Sollen also erst angezeigt werden wenn im Backend ausgefüllt.
    Gibt es hierzu einen Filter? Komm hier nicht mehr weiter.

  • #2
    Eine If Abfrage auf den Wert drumherum setzen. Ist in fast jedem CE Template, was mit einem Theme kommt abzuschauen oder hier in den Vorlagen im Forum.
    http://www.premium-contao-themes.com

    Kommentar


    • #3
      Im Vorlagen Forum habe ich leider nichts gefunden.

      Kommentar


      • #4
        Beispiel aus z.B. Quantums Iconbox:
        PHP-Code:
        <?php if($this->field('link')->value()): ?>
        <p><a href="<?php echo $this->field('link')->value(); ?>"><?php echo $this->field('linktext')->value(); ?></a></p>
        <?php endif; ?>
        in einer CC Schleife wäre es z.B.
        PHP-Code:
        <?php foreach($this->entries as $entry?>
        <?php 
        if($entry->field('link')->value()): ?>
        ...
        <?php endif; ?>
        <?php 
        endforeach; ?>
        "falls das Feld "link" einen Wert hat..."
        http://www.premium-contao-themes.com

        Kommentar


        • #5
          Ok. Danke. Aber wo pack ich das hin?

          Kommentar


          • #6
            Zitat von oliver Beitrag anzeigen
            Ok. Danke. Aber wo pack ich das hin?
            Das sind Beispiele aus einem customelement_... Template bzw. customcatalog_... Template.
            http://www.premium-contao-themes.com

            Kommentar


            • #7
              Theoretisch klar wo ich das einsetzen muss. Es geht sich aber hierbei nicht um ein oder zwei bestimmte Felder. Sondern das soll für alle Felder gelten.

              Hab ja dann das als Ausgangstemplate

              PHP-Code:
              <div class="content block">
              <?php foreach($this->entries as $entry): ?>
              <div class="<?php echo $entry->get('class'); ?> block">
                  <?php foreach($entry->get('fields') as $field): ?>    
                  <?php if($field->hidden) {continue;} ?>
                  <div class="<?php echo $field->class?>">
                      <div class="label"><?php echo $field->label?></div>
                      <div class="value"><?php echo $field->html(); ?></div>
                  </div>
                  <?php endforeach; ?>
                  
                  <?php if($entry->get('more')): ?>
                  <p class="more"><?php echo $entry->get('more'); ?></p>
                  <?php endif; ?>
                  
              </div>
              Oder versteh ich das doch nicht? ;-)

              Kommentar


              • #8
                <?php if($field->hidden || !$field->value()) {continue;} ?>
                http://www.premium-contao-themes.com

                Kommentar


                • #9
                  Jihhaaa! Danke!!

                  Kommentar

                  Lädt...
                  X