Isotope-Attribute

Aus Contao Community Documentation

Bildergalerien mit Attributen

Wenn man bei Isotope eine zusätzliche Bildergalerie anlegen möchte, geht das ganz einfach über Shop-Konfiguration > Attribute > New Attribute. Dort das Formular beispielsweise folgendermaßen ausfüllen:

Name: Produkt Icons Interner Name: icons Typ: Media Manager Field Group: Media Management Description: Bitte laden Sie hier die jeweiligen Produkt-Icons hoch Image gallery: Default gallery (Lightbox/Mediabox) Allowed file types: jpg, jpeg, gif, png

Ist dieses gespeichert, wechselt man nach Shop-Konfiguration > Produkttypen, wählt einen Produkttypen und aktiviert das neue Attribut "Produkt Icons".

Als Nächstes muss unter Shop-Konfiguration > Konfiguration die Bildgröße eingestellt werden. Hierzu fügt man ganz unten bei "Image sizes" einen neuen Datensatz hinzu. Diesen benennt man "icons" und vergibt die gewünschte Bildgröße.

Nun kann z.B. das Linkverhalten im Template iso_gallery_default.tpl angepasst und in die Abfragen mit einbezogen werden.

Zuletzt muss das Template (beispielsweise iso_reader_default) angepasst werden:

Alle Bilder ausgeben:

<?php echo $this->icons->generateGallery('icons', 0); ?>

Alle außer das erste Bild ausgeben:

<?php echo $this->icons->generateGallery('icons'); ?>

Nur das erste Bild ausgeben:

<?php echo $this->icons->generateMainImage('icons'); ?>

Download/PDF Link als Attribut

Hinweis.png Hinweis: PDF Dateien lassen sich zwar als Attribut anlegen, doch sie werden so wie eine Bildergalerie behandelt und werden dadurch gar nicht angezeigt.


Somit zeige ich euch einen Workaround, wie man doch PDF Dateien integrieren kann:

Wie man ein Attribut anlegt, habe ich weiter oben erklärt. Bei allowed file types sollten nur Dateiendungen zugelassen werden, die tatsächlich auch hochgeladen werden sollen. Beispielsweise: pdf,doc,xls

Im Template kommt nun folgender Codeabschnitt zum Tragen:

<?php 
$pdf = deserialize($this->raw['download_pdf']); 
$letter = substr($pdf[0]['src'], 0, 1); ?>
<a href="/isotope/<?php echo $letter."/".$pdf[0]['src']; ?>"><?php echo $this->name; ?></a>

Hierbei wird zunächst das Array deserialisiert, wegen der Ordnerstruktur mit substr der erste Buchstabe extrahiert und das ganze in einen Link verpackt.


Hinweis.png Hinweis: Eine Linkbeschreibung ist noch nicht integriert.
Ansichten
Meine Werkzeuge

Contao Community Documentation

die Liste ist länger als ich und lindes zusammen...

Yanick Witschi
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge