Ergebnis 1 bis 3 von 3

Thema: [Gelöst] Modifiziertes Template “metamodel_prerendered“ - Nur ein Bild ausgeben

  1. #1
    Contao-Fan Avatar von jgrotstabel
    Registriert seit
    22.11.2011.
    Ort
    Bocholt
    Beiträge
    279

    Standard [Gelöst] Modifiziertes Template “metamodel_prerendered“ - Nur ein Bild ausgeben

    Hey,

    ich habe ein modifiziertes Template “metamodel_prerendered“ für die Ausgabe in einen Slider erstellt. Dieser greift sich die Inhalte aus einem MetaModel bei dem es vorkommt, dass das Attribut "file" mehrere Bilder enthält. Ich möchte aber nur das der Pfad des ersten Bildes ausgegeben wird. Bei meiner Lösung haut der aber alle Pfade ein. Wie bekomme ich das hin, dass immer nur das erste Bild des Attributes ausgegeben wird?

    Hier mal mein template "metamodel_prerendered"
    Code:
    <?php $strRendersettings = ($this->settings)? 'settings' : 'view'; ?>
    <?php if (count($this->data)): ?>
    
    <?php foreach ($this->data as $arrItem): ?>
    
    <div class="sliderImage" style="background-image:url(<?php echo $arrItem['text']['fotos']; ?>);">
    <div class="sliderImageContentBox">
    <div class="sliderImageContentBoxWrapper">
    <h3>
    <?php if ($arrItem['text']['link']): ?>
    <a href="<?php echo $arrItem['text']['link']; ?>" title="<?php echo $arrItem['text']['ueberschrift']; ?>">
    <?php endif; ?>
    <?php echo $arrItem['text']['ueberschrift']; ?>
    <?php if ($arrItem['text']['link']): ?>
    </a>
    <?php endif; ?>
    </h3>
    
    <p>
    <?php if ($arrItem['text']['link']): ?>
    <a href="<?php echo $arrItem['text']['link']; ?>" title="<?php echo $arrItem['text']['ueberschrift']; ?>">
    <?php endif; ?>
    <?php echo $arrItem['text']['einleitung']; ?>
    <?php if ($arrItem['text']['link']): ?>
    </a>
    <?php endif; ?>
    </p>
    
    <?php if ($arrItem['text']['link']): ?>
    <a class="sliderLink" href="<?php echo $arrItem['text']['link']; ?>" title="<?php echo $arrItem['text']['einleitung']; ?>">
    Mehr Entdecken
    </a>
    <?php endif; ?>
    </div>
    </div>
    </div>
    
    
    
    <?php endforeach; ?>
    <?php endif; ?>
    Das Problem sitzt in dieser Zeile, diese gibt im frontend alle Bildpfade hintereinader als src aus.
    Code:
    <div class="sliderImage" style="background-image:url(<?php echo $arrItem['text']['fotos']; ?>);">

    Die Ausagabe dieses Attributes ist doch ein Array, oder? Kann man da nicht irgendwie sagen, dass nur das erste Ergebniss ausgegeben werden soll? (PHP ist leider nicht mein Fachbereich ;-) )

    Code:
    <?php echo $arrItem['text']['fotos']; ?>);">
    Ausgabe im Frontend sieht so aus:
    Code:
    <div style="background-image:url(files/referenzen/messe_events/DSCN0778_deinBerlin.jpg,files/referenzen/messe_events/IMG_0330schanghai.jpg,files/referenzen/messe_events/RZ_130312_Dornbracht_ISH_02_HIGHRES_08.jpg,files/referenzen/bmw2_leitbild2.jpg);" class="sliderImage">
    Geändert von jgrotstabel (13.08.2014 um 11:07 Uhr)
    Webentwickler bei Paus Design & Medien in Bocholt / NRW: www.paus-medien.de
    Meine Website: www.grotstabel.com (Sorry seit Jahren keine Zeit für ein Redesign...)
    Xing-Account: www.xing.com

  2. #2
    Contao-Nutzer Avatar von chibineko
    Registriert seit
    02.06.2011.
    Beiträge
    120
    Partner-ID
    6306

    Standard

    Moin,

    gehe nicht über text sondern über den raw also nicht $arrItem['text']['fotos'] sondern $arrItem['raw']['fotos'].
    Mach einmal darauf einen var_dump dann siehst du wie die Daten aussehen. Es sollte darunter nochmal ein array sein mit files und pathes.

    Code:
    <?php var_dump($arrItem['raw']['fotos']);">
    Code:
        'fotos' => 
            array (size=2)
                'value' => 
                    array (size=1)
                        0 => string 'f31013af-22cd-11e4-9cc8-e69d0c26f1ba' (length=36)
                'path' => 
                    array (size=1)
                        0 => string 'files/translations/export/1407167093-export.zip' (length=47)
    Über $arrItem['raw']['fotos']['path'][0] solltest du dann das erste Bild bekommen.
    Geändert von chibineko (13.08.2014 um 10:46 Uhr)

  3. #3
    Contao-Fan Avatar von jgrotstabel
    Registriert seit
    22.11.2011.
    Ort
    Bocholt
    Beiträge
    279

    Standard

    Sehr geil,

    vielen vielen Dank für die schnelle Hilfe chibineko!
    Webentwickler bei Paus Design & Medien in Bocholt / NRW: www.paus-medien.de
    Meine Website: www.grotstabel.com (Sorry seit Jahren keine Zeit für ein Redesign...)
    Xing-Account: www.xing.com

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
  •