Ergebnis 1 bis 3 von 3

Thema: Catalog Manager: Template Array Ausgabe Galerie mit individueller Sortierung

  1. #1
    Contao-Fan Avatar von dirksche
    Registriert seit
    05.08.2009.
    Ort
    Grosslittgen
    Beiträge
    655

    Standard Catalog Manager: Template Array Ausgabe Galerie mit individueller Sortierung

    Hallo liebe Community,

    ich habe mit dem Catalog Manager eine Produkttabelle mit Galerie gebastelt. Wie in der Doku beschrieben habe ich für die individuelle Sortierung der Bilder eine Datenbank Spalte angelegt. Nun gebe ich die Bilder als Array mit folgendem Code aus:
    PHP-Code:
                                <?php if ( is_array$this->product_gallery ) ): ?>
                                    <?php foreach ($this->product_gallery as $arrProductimage): ?>
                                        <?php foreach ($arrProductimage as $productImage): ?>
                                        <?php $GLOBALS['TL_HEAD'][] = '<meta property="og:image" content="' .$productImage->singleSRC .'" />'?>
                                            <?php $imgCount++ ?>
                                            <?php if ( $productImage->singleSRC ): ?>
                                                <figure>
                                                    <div class="mask">
                                                        <img src="<?= $productImage->src ?>">
                                                    </div>
                                                    <?php if ($productImage->caption): ?>
                                                        <figcaption><?= $productImage->caption ?></figcaption>
                                                    <?php endif; ?>
                                                </figure>
                                            <?php endif; ?>
                                        <?php endforeach; ?>
                                    <?php endforeach; ?>
                                <?php endif; ?>
    Allerdings werden so die Bilder nicht mit der individuellen Sortierung ausgegeben. Das Datenbank Feld dafür ist 'product_gallery_reihenfolge'. Hat jemand einen Denkanstoss für mich, wie ich den Code anpassen muss um die Bilder in der gewünschten Sortierung auszugeben?

    Vorab schon mal danke.
    Dirk

  2. #2
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    626

    Standard

    Ich hatte mal einen ähnlich Fall aber nicht in Contao und kam dort nicht tief genug mit den Template für die Sortierung rein. Ich habe es dann einfach mit JavaScript gelöst und gleich eine Auswahl für die Sortierung mit programmiert. So kann man nun die Einträge nach Datum aufwärts oder abwärts, nach Größe und nach Namen sortieren.

  3. #3
    Contao-Fan Avatar von Net Cube
    Registriert seit
    27.01.2012.
    Ort
    Eutin
    Beiträge
    626

    Standard

    ungetestet und nur als Vorschlag

    Code:
    <?php if ( is_array( $this->product_gallery ) && !empty($this->product_gallery_reihenfolge) ): ?>
        <?php
        // Die Reihenfolge aus dem Datenbankfeld "product_gallery_reihenfolge" holen
        $order = explode(',', $this->product_gallery_reihenfolge); // Angenommen, es ist eine kommagetrennte Liste der Bild-IDs
    
        // Array für sortierte Galerie
        $sortedGallery = array();
    
        // Die Galerie in der gewünschten Reihenfolge sortieren
        foreach ($order as $id) {
            foreach ($this->product_gallery as $arrProductimage) {
                foreach ($arrProductimage as $productImage) {
                    // Überprüfen, ob die Bild-ID mit der in der Reihenfolge übereinstimmt
                    if ($productImage->id == $id) {
                        $sortedGallery[] = $productImage; // Bild zum sortierten Array hinzufügen
                    }
                }
            }
        }
        ?>
    
        <?php if (!empty($sortedGallery)): ?>
            <?php foreach ($sortedGallery as $productImage): ?>
                <?php $GLOBALS['TL_HEAD'][] = '<meta property="og:image" content="' .$productImage->singleSRC .'" />'; ?>
                <?php $imgCount++ ?>
                <?php if ( $productImage->singleSRC ): ?>
                    <figure>
                        <div class="mask">
                            <img src="<?= $productImage->src ?>">
                        </div>
                        <?php if ($productImage->caption): ?>
                            <figcaption><?= $productImage->caption ?></figcaption>
                        <?php endif; ?>
                    </figure>
                <?php endif; ?>
            <?php endforeach; ?>
        <?php endif; ?>
    <?php endif; ?>

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •