-
Bildergalerie bei Events
Ich hätte gerne bei den Events eine Bildergalerie, und zwar direkt in den Grundeinstellungen (analog zu den News). Klappt grundsätzlich mit dem PaletteManipulator. Allerdings habe ich keine Ahnung, wie ich die Sortierung hinbekomme:
PHP-Code:
<?php
// Put this in TL_ROOT/contao/dca/tl_calendar_events.php
use Contao\CoreBundle\DataContainer\PaletteManipulator;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['gallery'] = [
'label' => ['Bildergalerie'],
'exclude' => true,
'search' => true,
'sorting' => true,
'inputType' => 'fileTree',
'eval' => array(
'mandatory'=>true,
'multiple' => true,
'files'=>true,
'fieldType'=>'checkbox',
'filesOnly'=>true,
'isGallery'=>true
),
'sql' => "blob NULL",
];
Contao\CoreBundle\DataContainer\PaletteManipulator::create()
->addLegend('custom_gallery', 'image_legend', PaletteManipulator::POSITION_AFTER)
->addField('gallery', 'custom_gallery', PaletteManipulator::POSITION_APPEND)
->applyToPalette('default', 'tl_calendar_events');
Wie müsste außerdem diese Galerie im Template event_full.html ausgegeben werden?
-
Ich hoffe ich habe dich richtig verstanden, du hast die Vorschau und bei "mehr" soll der gesamte Text zum Event mit einer Galerie angezeigt werden.
Wenn das so ist, musst du einfach nur zusätzlich die Galerie anhängen. Da gibt es auch ein Möglichkeit die zu sortieren.
-
Das ist mir schon klar, dass es für die Detailseite auch mit normalen Inhaltselementen funktioniert.
Es geht um die Grundeinstellungen (also für die Voransicht).
-
Falls die Standart-Sortierung mit manueller Sortierungsmöglichkeit reicht, einfach bei eval
PHP-Code:
'isSortable'=>true
einfügen.
Die Ausgabe im event Template könnte mit einem image oder picture Inserttag so aussehen:
HTML-Code:
<div class="gallery">
<?php $gallery = deserialize($this->gallery); foreach ($gallery as $galleryImage): ?>
{{image::<?= \Contao\FilesModel::findByUuid($galleryImage)->path ?>}}
<?php endforeach; ?>
</div>