Ergebnis 1 bis 6 von 6

Thema: [ Gelöst ] MM FE Bilderauflistung immer mit 6 Bildern

  1. #1
    Contao-Nutzer
    Registriert seit
    18.08.2011.
    Beiträge
    68

    Standard [ Gelöst ] MM FE Bilderauflistung immer mit 6 Bildern

    Hallo,
    habe mir das "mm_attr_file.html5" etwas angepasst um Bilder (max. 6) ausgeben zu lassen.
    Jetzt würde ich gerne das ganze soweit erweitern, dass wenn weniger als 6 Bilder vorhanden sind automatisch Platzhalter-Bilder eingesetzt werden. So dass immer 6 Bilder angezeigt werden.

    Danke für eure Hilfe.

    Das ist mein aktueller Code:
    PHP-Code:
    <?php if (is_array($this->src)): ?>
    <ul>
    <?php
    $i 
    0;
    foreach(
    $this->src as $arrFile) { ?>

    <li class="<?php echo $arrFile['class']; ?>">
    <?php if ($this->settings->get('file_showLink')): ?>
        <?php if ($this->settings->get('file_showImage')): ?>
            <a data-lightbox="<?php echo $arrFile['lb']; ?>" title="<?php echo $arrFile['alt']; ?>" href="<?php echo $arrFile['file']; ?>">
        <?php else: ?>
            <a title="<?php echo $arrFile['alt']; ?>" href="<?php echo $arrFile['url']; ?>">
        <?php endif; ?>
    <?php 
    endif; ?>
    <?php 
    if ($this->settings->get('file_showImage')): ?>
        <?php if ($arrFile['isGdImage']): ?>
            <?php echo $this->generateImage($arrFile['src'], $arrFile['caption']); ?>
        <?php endif; ?>
    <?php 
    else: ?>
        <img src="<?php echo $arrFile['icon']; ?>" alt="" /> <?php echo $arrFile['alt'] ? $arrFile['alt'] : $arrFile['file']; ?> <span class="size"><?php echo $arrFile['sizetext']; ?></span>
    <?php endif; ?>
    <?php 
    if ($this->settings->get('file_showLink')): ?>
        </a>
    <?php endif; ?>
    </li>

    <?php
    $i
    ++;
    if ( 
    $i >= 6) break;
    ?>
    </ul>
    <?php endif; ?>
    Geändert von BlackP (10.12.2013 um 06:18 Uhr)

  2. #2
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Falls Du keine Lösung finden solltest, würde ich mir einfach fünf leere Bilder in den Ordner packen.

  3. #3
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Hi BlackP,

    vor dem schließenden </ul> in deinem Template kannst du doch beliebiges einfügen, z.B. :
    PHP-Code:
    <?php 
    while ($i<6) {
      echo 
    '<li><img src="platzhalter.gif"></li>'
      
    i++;
    };
    ?>

    Gruß, folkfreund

  4. #4
    Contao-Nutzer
    Registriert seit
    18.08.2011.
    Beiträge
    68

    Standard

    Hi,
    danke hat geklappt und das natürlich mega einfach. Manchmal sieht man den Wald vor lauter Bäumen nicht.
    Habe den Code noch etwas angepasst und einen kleinen Fehler behoben.
    Hier ist er nun komplett:
    PHP-Code:
    <?php if (is_array($this->src)): ?>
    <ul>
    <?php
    $i 
    0;
    foreach(
    $this->src as $arrFile) { ?>

    <li class="<?php echo $arrFile['class']; ?>">
    <?php if ($this->settings->get('file_showLink')): ?>
        <?php if ($this->settings->get('file_showImage')): ?>
            <a data-lightbox="<?php echo $arrFile['lb']; ?>" title="<?php echo $arrFile['alt']; ?>" href="<?php echo $arrFile['file']; ?>">
        <?php else: ?>
            <a title="<?php echo $arrFile['alt']; ?>" href="<?php echo $arrFile['url']; ?>">
        <?php endif; ?>
    <?php 
    endif; ?>
    <?php 
    if ($this->settings->get('file_showImage')): ?>
        <?php if ($arrFile['isGdImage']): ?>
            <?php echo $this->generateImage($arrFile['src'], $arrFile['caption']); ?>
        <?php endif; ?>
    <?php 
    else: ?>
        <img src="<?php echo $arrFile['icon']; ?>" alt="" /> <?php echo $arrFile['alt'] ? $arrFile['alt'] : $arrFile['file']; ?> <span class="size"><?php echo $arrFile['sizetext']; ?></span>
    <?php endif; ?>
    <?php 
    if ($this->settings->get('file_showLink')): ?>
        </a>
    <?php endif; ?>
    </li>

    <?php
    $i
    ++;
    if ( 
    $i >= 6) break;

    while (
    $i 6) { ?>
        <li class="<?php echo $arrFile['class']; ?>">
          <img width="80" height="69" src="tl_files/default/default.jpg">
      </li>
      <?php $i++; 
    ?>
    </ul>
    <?php endif; ?>

  5. #5
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Hallo,

    PHP-Code:
    <?php echo $arrFile['class']; ?>
    ist insofern etwas problematisch, als $arrFile ja nur das Element innerhalb der foreach-Schleife ist. Nach der Schleife ist die Variable einfach noch so belegt wie zufällig durch das letzte Element.

    Ansonsten schön, dass es geklappt hat!

    Gruß, folkfreund

  6. #6
    Contao-Nutzer
    Registriert seit
    18.08.2011.
    Beiträge
    68

    Standard

    Ja das stimmt leider, habe es aber dann per CSS so gestaltet das es keinen Unterschied macht.

    Gruß BlackP

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
  •