terminal42 / contao-pageimage

MIT License
12 stars 14 forks source link

Mehrere Bilder (für Slider) mit picture-Template #49

Closed eiswurm closed 3 years ago

eiswurm commented 3 years ago

Ich erzeuge mit dem folgenden Code das Markup für einen Slider wenn mehrere Bilder pro Seite ausgewählt werden. Wie kann ich das Contao-Picture-Template nutzen, um auch die responsive Größen mit im Markup zu haben? Hier ist es ja nur das einfache img-Tag.

<?php
global $objPage;
$collection = \FilesModel::findMultipleByUuids(deserialize($objPage->pageImageOrder)); // oder ->pageImage ohne Sortierung
?>
<?php if (count($collection) > 1): ?>
    <?php foreach($collection as $image)
        {
            echo '<div><img src="'.\Image::get($image->path, 300, 300, 1).'" alt=""></div>';
        }
    ?>
<?php else: ?>
...
<?php endif; ?>
aschempp commented 3 years ago

In der neusten Version (4.1+) ist bereits ein Slider-Template enthalten, hast du dir das mal angesehen?

eiswurm commented 3 years ago

Super, das funktioniert. Das neue Template hatte ich übersehen. Im Modul muss natürlich noch "Alle Bilder" ausgewählt werden. Mein Template sieht jetzt so aus:

<?php $this->extend('block_unsearchable'); ?>
<?php $this->block('content'); ?>

<?php
global $objPage;
$collection = \FilesModel::findMultipleByUuids(deserialize($objPage->pageImageOrder));
?>

<?php if (count($collection) > 1): ?>
    <div class="tiny-slider">
        <?php foreach ($this->allImages as $image): ?>
            <figure>
                <?php $this->insert('picture_default', $image['picture']); ?>
            </figure>
        <?php endforeach; ?>
    </div>

    <?php else: ?>
        <figure>
            <?php $this->insert('picture_default', $this->picture); ?>
        </figure>
    <?php endif; ?>

<?php $this->endblock(); ?>
aschempp commented 3 years ago

Dann schliesse ich das mal? 🙃