Ergebnis 1 bis 5 von 5

Thema: Catalog Bildergalerie mit Caption

  1. #1
    Contao-Nutzer Avatar von art-instinct
    Registriert seit
    12.04.2012.
    Ort
    Hannover/Leipzig
    Beiträge
    175

    Standard Catalog Bildergalerie mit Caption

    Hallo,

    ich stehe etwas auf dem Schlauch. Ich habe ein File-Feld mit Mehrfachauswahl für Bilder.
    Im Frontend möchte ich alle diese Bilder mit dazugehöriger Caption = Alt-Text aus dem Meta-File befüllen.
    Für ein einzelnes Bild komme ich an die Metadaten ran, aber ich schaffe es nicht im Template das für alle auszugeben.

    Hier gibt er ja nur den alt-text des ersten Bildes aus.
    PHP-Code:
    <?php echo $entry['data']['bilder_farben']['value']; ?>
    <?php 
    echo $entry['data']['bilder_farben']['meta']['0']['alt']; ?>
    Meta-Daten /meta.txt) habe ich natürlich befüllt.

    Kann mir jemand auf die Sprünge helfen, wie ich das im Template umsetze?

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo art-instinct,
    eigentlich sollte der Catalog sich das automatisch aus der meta.txt rausholen. Das passiert bei dir nicht?

    Anonsten weiß ich gerade nicht so ganz, womit du jetzt die Probleme hast.. du wirst da ein foreach draus machen müssen, wenn du das von Hand machen musst/möchtest. Beispiele finden sich im Wiki ;-)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Contao-Nutzer Avatar von art-instinct
    Registriert seit
    12.04.2012.
    Ort
    Hannover/Leipzig
    Beiträge
    175

    Standard

    Hm, also Caption ist auch drin, aber der Catalog (aktuell/von vorgestern ausm SVN) gibt bei
    PHP-Code:
    <?php echo $entry['data']['bilder_farben']['value']; ?>
    keine Caption in der Ausgabe.
    Egal on Lightbox für die Bilder aktiviert ist oder nicht.

    Und du sagst, eigentlich sollte der Catalog das automatisch machen, wenn das vorhanden ist? Title (in Link und Lightbox) sowie Alt-Text fürs Bild werden korrekt gesetzt.

    Da ich noch ziemlicher php-noob bin, schaffe ich es nicht mit die foreach-schleife zu setzen. Kannst du mir da helfen? Wiki hab ich gelesen und die anderen Threads helfen mir auch nicht weiter

    Code:
    [bilder_farben] => Array
                            (
                                [label] => Farben
                                [type] => file
                                [raw] => a:3:{i:0;s:108:"tl_files/leder-fiedler/produkte/moebelleder/4216066-4216066-high-resolution-stamped-leather-texture_m10c.jpg";i:1;s:65:"tl_files/leder-fiedler/produkte/moebelleder/adasdmaskdm-asd_a.jpg";i:2;s:54:"tl_files/leder-fiedler/produkte/moebelleder/asjdna.jpg";}
                                [value] => <span class="image first even"><a data-lightbox="lbmoebelledercatalogreader0" href="tl_files/leder-fiedler/produkte/moebelleder/4216066-4216066-high-resolution-stamped-leather-texture_m10c.jpg" title="Testbild"><img src="system/html/4216066-4216066-high-resolution-stamped-leather-texture_m10c-c000f94c.jpg" alt="Testbild" width="130" height="100" /></a></span><span class="image odd"><a data-lightbox="lbmoebelledercatalogreader0" href="tl_files/leder-fiedler/produkte/moebelleder/adasdmaskdm-asd_a.jpg" title="Bild2"><img src="system/html/adasdmaskdm-asd_a-3a87f310.jpg" alt="Bild2" width="130" height="100" /></a></span><span class="image last even"><a data-lightbox="lbmoebelledercatalogreader0" href="tl_files/leder-fiedler/produkte/moebelleder/asjdna.jpg" title="BTestdfsdf 534"><img src="system/html/asjdna-9959bb90.jpg" alt="BTestdfsdf 534" width="130" height="100" /></a></span>
                                [files] => Array
                                    (
                                        [0] => tl_files/leder-fiedler/produkte/moebelleder/4216066-4216066-high-resolution-stamped-leather-texture_m10c.jpg
                                        [1] => tl_files/leder-fiedler/produkte/moebelleder/adasdmaskdm-asd_a.jpg
                                        [2] => tl_files/leder-fiedler/produkte/moebelleder/asjdna.jpg
                                    )
    
                                [meta] => Array
                                    (
                                        [0] => Array
                                            (
                                                [src] => system/html/4216066-4216066-high-resolution-stamped-leather-texture_m10c-c000f94c.jpg
                                                [alt] => Testbild
                                                [lb] => lbcatalogreader0
                                                [w] => 130
                                                [h] => 100
                                                [wh] => width="130" height="100"
                                                [caption] => Testbild
                                                [metafile] => Array
                                                    (
                                                        [0] => Testbild
                                                        [1] => 
                                                        [2] => Testbild
                                                    )
    
                                            )
    
                                        [1] => Array
                                            (
                                                [src] => system/html/adasdmaskdm-asd_a-3a87f310.jpg
                                                [alt] => Bild2
                                                [lb] => lbcatalogreader0
                                                [w] => 130
                                                [h] => 100
                                                [wh] => width="130" height="100"
                                                [caption] => Bild2
                                                [metafile] => Array
                                                    (
                                                        [0] => Bild2
                                                        [1] => 
                                                        [2] => Bild2
                                                    )
    
                                            )
    
                                        [2] => Array
                                            (
                                                [src] => system/html/asjdna-9959bb90.jpg
                                                [alt] => BTestdfsdf 534
                                                [lb] => lbcatalogreader0
                                                [w] => 130
                                                [h] => 100
                                                [wh] => width="130" height="100"
                                                [caption] => BTestdfsdf 534
                                                [metafile] => Array
                                                    (
                                                        [0] => BTestdfsdf 534
                                                        [1] => 
                                                        [2] => BTestdfsdf 534
                                                    )
    
                                            )
    Edit: habs geschafft, aber was ich nicht schaffe ist, dass die einzelnen <span> neben der klasse "image" automatisch first/last even/odd bekommen. wie geht das?
    PHP-Code:
        <div class="image_container">
        
                <?php foreach ($entry['data']['bilder_farben']['files'] as $i=>$file): ?>
                    <span class="image">
                        <a data-lightbox="<?php echo $entry['data']['bilder_farben']['meta'][$i]['lb']; ?>" href="<?php echo $entry['data']['bilder_farben']['files'][$i]; ?>" title="<?php echo $entry['data']['bilder_farben']['meta'][$i]['caption']; ?>">
                            <img src="<?php echo $entry['data']['bilder_farben']['meta'][$i]['src']; ?>" alt="<?php echo $entry['data']['bilder_farben']['meta'][$i]['caption']; ?><?php echo $entry['data']['bilder_farben']['meta'][$i]['wh']; ?> />
                        </a>
                    </span>
                    <figcaption class="caption" style="width:<?php echo $entry['data']['bilder_farben']['meta'][$i]['w']; ?>">
                        <?php echo $entry['data']['bilder_farben']['meta'][$i]['caption']; ?>
                    </figcaption>
                <?php endforeach; ?>
            
        </div>
    Geändert von art-instinct (15.03.2013 um 13:45 Uhr)

  4. #4
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Klassen werden generiert.. und da müsstest du auch eine Variable für haben um die dann auszugeben (irgendwas mit class).

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  5. #5
    Contao-Nutzer Avatar von art-instinct
    Registriert seit
    12.04.2012.
    Ort
    Hannover/Leipzig
    Beiträge
    175

    Standard

    Jetzt bräuchte ich etwas Unterstützung von einem PHP-Guru ;-)

    Das Template:
    PHP-Code:
    <?php foreach ($entry['data']['bilder_farben']['files'] as $i=>$file): ?>
    <span class="image">
        <img src="<?php echo $entry['data']['bilder_farben']['meta'][$i]['src']; ?>" alt="<?php echo $entry['data']['title']['value']; ?> <?php echo $entry['data']['bilder_farben']['meta'][$i]['caption']; ?>" style="width:<?php echo $entry['data']['bilder_farben']['meta'][$i]['w']; ?>px; height:<?php echo $entry['data']['bilder_farben']['meta'][$i]['h']; ?>px;" />
        <figcaption class="caption" style="width:<?php echo $entry['data']['bilder_farben']['meta'][$i]['w']; ?>px;">
            <?php echo $entry['data']['bilder_farben']['meta'][$i]['caption']; ?>
        </figcaption>
    </span>
    <?php endforeach; ?>
    gibt mir ja die Bilder mit meinen Meta-Daten wunderbar aus. Bei der PDF-Generierung hab ich jetzt aber das Problem, dass ich nicht 4 divs nebeneinander gefloatet bekomme und das 5. dann in der nächsten Zeile steht.
    Hier müsste ich wohl auf eine Tabelle ausweichen.

    kann mir jemand das Template so basteln, dass da eine Tabelle generiert wird, wo die Bilder mit Caption drin sind?
    Ein PHP-Schnipsel für die Erstellung einer Tabelle habe ich auch, aber ich bekomme die nicht zusammen:

    PHP-Code:
    <?php

     $values 
    range(131);
    $rows array_chunk($values7);

     print 
    "<table>\n";
     foreach (
    $rows as $row) {
         print 
    "<tr>\n";
         foreach (
    $row as $value) {
             print 
    "<td>" $value "</td>\n";
         }
         print 
    "</tr>\n";
     }
     print 
    "</table>\n";

    ?>

    Danke!

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
  •