Hallo zusammen,
ich versuche hier eine ältere Seite auf Contao 5.6 upzudaten. Es läuft mittlerweile auch alles bis auf eine Sache.
Ich hatte bisher swiper mit sortierbaren Bildauswahlen so gebaut:
PHP-Code:
<?php
$dataSorted = array_map('\StringUtil::binToUuid', deserialize($this->orderSRC, true));
$i = 0;
foreach ( $dataSorted as $data ):
$i++;
?>
<div class="image_<?php echo $i ?> swiper-slide">
<?php
if ($image = $this->getImageObject($data, array('','',$imgSize))):
$this->insert('picture_default', $image->picture);
endif;
?>
</div>
<?php endforeach ?>
Das funktioniert nun aber nicht mehr. Ich habe schon rausgefunden, dass deserialize jetzt wohl anders funktioniert und man den Namespace Contao\ bei einigen Sachen voranstellen muss. Von PHP habe ich gerade genug Ahnung, um mir schöne Templates mit Rocksolid Customelements zusammen zubauen.
Mein neuer Freund ChatGPT behauptet steif und fest
PHP-Code:
<?php
use Contao\StringUtil;
$uuidsBin = StringUtil::deserialize($this->orderSRC, true);
$dataSorted = array_map([StringUtil::class, 'binToUuid'], $uuidsBin);
//$dataSorted = array_map('\Contao\StringUtil::binToUuid', \Contao\StringUtil::deserialize($this->orderSRC, true));
var_dump($dataSorted);
Das wäre der korrekte neue Weg. Wie mein Dump des Arrays mir allerdings in der letzten Zeile verrät, ist in dem Array, so wie es hier ausgegeben wird, nichts drin. Im Backend wird mir aber meine Bildauswahl korrekt angezeigt.
Hat jemand schon herausgefunden, wie ich meinen obigen, alten Code nun genau anpassen muss?
Bitte kein Twig als Lösung vorschlagen. Diese Seite wird garantiert in diesem Zuge nicht auf Twig umgestellt werden. Außerdem, gibt es schon Wege mit Twig RSCE-Templates zu bauen? So für die Zukunft…?
Vielen Dank!