Bilder mit Webp-Konvertierung in RSCE nach Update
Hallo Community,
ich habe ein altes Contao von Version 3.2 auf Version 4.9 hochgezogen.
Mir ist aufgefallen, dass es hier bei der Webp-Konvertierung noch ein Problem gibt, aber nur bei Rock-Solid-Custom-Elements Bildern.
Der ursprüngliche Code ist:
PHP-Code:
<?php if ($box->image && ($objFile = \FilesModel::findById($box->image)) !== null): ?>
<figure class="teaser-boxes-item-image" >
<?php $this->insert('picture_default', \Picture::create($objFile->path, $this->size)->getTemplateData()); ?>
</figure>
Das Problem hierbei scheint die Verwendung der \Picture::create - Funktion zu sein, da diese deprecated ist.
Ich habe das ganze nun also mit folgendem Ansatz versucht:
PHP-Code:
<?php if ($box->image && ($objFile = \FilesModel::findById($box->image)) !== null): ?>
<figure class="teaser-boxes-item-image" >
<?php $this->insert('picture_default', \Contao\System::getContainer()->get('contao.image.image_factory')->create($objFile->path, $this->size)); ?>
</figure>
<?php endif; ?>
Dabei erhalte ich dann den Fehler, dass der Pfad zum Bild absolut sein muss:
Code:
[2021-06-01 10:25:52] request.CRITICAL: Uncaught PHP Exception InvalidArgumentException: "Image path "files/images/upload/og_img/PPP2021_web.jpg" must be absolute" at /pathToSystem/contao49/vendor/contao/core-bundle/src/Image/ImageFactory.php line 135 {"exception":"[object] (InvalidArgumentException(code: 0): Image path "files/images/upload/og_img/PPP2021_web.jpg" must be absolute at /pathToSystem/contao49/vendor/contao/core-bundle/src/Image/ImageFactory.php:135)"} []
Meine Fragen sind:
- Ist das so überhaupt der richtige Weg?
- Falls ja: Wie erhalte ich am besten den absoluten Pfad?
- Falls nein: Wie würde ich es besser machen?
Vielen Dank bereits für eure Unterstützung.