Ich habe aktuell die Aufgabe, eine Webseite von Typo3 4.6 auf 6.2 zu heben. Eine Migration hat soweit auch geklappt, nur habe ich Probleme mit der Portierung einer custom PHP-Funktion, die voher über das mittlerweile nicht mehr verfügbare PHP_Script eingebunden war.
Das Ziel der Funktion ist im Grunde genommen die Ausgabe eines image-srcsets für ein Bild aus einem Templavoila FCE.
Weil PHP-Script ja nun nicht mehr existiert, habe ich versucht das ganze auf eine userFunc mit eigener PHP Klasse umzubauen.
Die nötigen Argumente (Auflösung, bildpfad) werden auch alle korrekt an die Klasse/Methode übergeben. Nur IMG_RESOURCE macht scheinbar überhaupt nichts.
-----------------------
So sah das ganze in Typo3 4.6 aus und hat funktioniert:
(Einbindung in ein Theme über PHP_SCRIPT)
[code]
$src = $this->cObjGetSingle('TEXT',$conf['src.']);
.... //Übergabe der ganzen argumente
$content .= "<img";
if(is_array($resolutions)) foreach($resolutions as $breakpoint=>$resolution) {
$imgTSConfig = array();
$imgTSConfig['file'] ='uploads/tx_templavoila/'.$src;
$imgTSConfig['file.']['maxW'] = $resolution;
$imgTSConfig['file.']['maxH'] = $resolution;
$image = $this->cObj->IMG_RESOURCE($imgTSConfig); //$image ist der Pfad zu einem Bild!
...
[/code]
-----------------------
Das ganze in 6.2:
(Einbindung via userFunc)
[code]
function responsiveImage($content = '', $conf = array())
{
$local_cObj = $this->cObj; // cObject
$conf = $conf['userFunc.']; // ts config
$src = $local_cObj->cObjGetSingle('TEXT', $conf['src.']);
.... //Übergabe der ganzen argumente
$content = "<img";
if (is_array($resolutions)) foreach ($resolutions as $breakpoint => $resolution) {
$imgTSConfig = array();
$imgTSConfig['file'] = 'uploads/tx_templavoila/' . $src;
$imgTSConfig['file.']['maxW'] = $resolution;
$imgTSConfig['file.']['maxH'] = $resolution;
$image = $local_cObj->IMG_RESOURCE($imgTSConfig); //HIER GEHT WAS SCHIEF! - $image ist immer leer
...
[/code]
-----------------------
$imgTSConfig ist mit den richtigen Daten befüllt, daran dürfte es also nicht liegen. Ich vermute ja, dass ich IMG_RESOURCE irgendwie anders aufrufen muss. Aber wie? Da das ganze leider ohne Fehlermeldung fehlschlägt hab ich echt keinen Schimmer, was ich hier anders machen muss.