Guten Morgen,
ich bin gerade aus dem Bett gefallen und anscheinend, direkt auf dem Schlauch liegen geblieben... :o
Ich habe für meine Extension ein BE-Forumlar, in dem ich mehrere Bilder auswählen kann. Nun will ich die ausgewählten Bilder in einem Marker ausgeben. Aber irgendwie bin ich gerade zu doof dafür.
Hat mir jemand schnell ein Beispiel zum spicken?
Viele Grüße
walter
Mal eine dumme Frage:
if(!empty($row)) {
$test = $row['images'];
$parts = explode(",", $test);
foreach ($parts as $element)
$marker['###MEIN_MARKER###'] = '<img src="uploads/tx_extkey/'.$element.'">';
};
};
müsste aber doch eigentlich funktionieren, oder? Bekomme aber eine PHP-Fehlermeldung, da der content mit "return $content;" ausgegeben wird.
Need your help!!!
Grüße
Walter
code schaut so ok aus, für behebung der fehlermeldung ist dieser schnipspel und die fehelenden details zur meldung zu wendig
Hallo Georg,
vielen dank für deine Antwort. Nun hier habe ich mal die komplette Fehlermeldung:
Parse error: syntax error, unexpected T_RETURN, expecting T_FUNCTION in /home/www/test/typo3conf/ext/testext/pi1/class.tx_testext_pi1.php on line 601
In Zeile 601 steht: return $content.
Wenn ich das Ganze mit einer for-schleife anstatt foreach angehe, bekomme ich eines von 3 Bildern aus der DB im FE angezeigt... #paralyzed#
Weißt Du Rat?
Grüße
Walter
EDIT: Ich Banane hab hier den Punkt vergessen:
$marker['###MEIN_MARKER###'] -->.<-- =
Naja, jetzt muss ich doch nochmal ran... Nachdem ich hier nun einiges gelesen habe, denke ich, dass ich die Bilder nicht in einer for-Schleife ausgeben sollte. Laut den Coding-Guidelines wäre das ja nicht die feine Englische.
Hätte jemand nen kurzen Moment um mir zu zeigen, wie ich die Bilder auch per API in meinen Marker bekomme. So könnte ich auch noch maxH und maxW festlegen.
Any suggestions?
Grüße
Walter
Ich habe mich jetzt nach einiger Zeit nochmal rangesetzt und das Ganze nochmal versucht durchzugehen. Leider bekomme ich immer noch keine Bilder angezeigt. Der Marker wird zwar ersetzt, aber er ist eben leer 😢 Hier mein Code:
Mehrere Bilder:
if(!empty($row)) {
$imgfield = $row['images'];
$imglist = explode(',',$imgfield);
$markerfeld = '';
foreach ($imglist as $imgname) {
$img = $this->berechneImg($imgname);
$markerfeld .= $img;
}
$markerArray['###IMAGES###'] = $markerfeld;
t3lib_div::debug($markerArray,'markerArray',__LINE__,__FILE);
};
Bilder berechnen:
function berechneImg($image)
{
$imgpath='uploads/tx_extkey/';
$ts['image']='IMAGE';
$ts['image.']['file']=$imgpath.$this->cObj->data['images'];
$ts['image.']['format']='jpg';
$ts['image.']['altText']=$this->cObj->data['altText'];
$ts['image.']['titleText']=$this->cObj->data['titleText'];
if ($this->cObj->data['imagewidth']) {
$ts['image.']['file.']['maxW'] = $this->cObj->data['imagewidth'];
}
$image=$this->cObj->IMAGE($ts['image.']);
t3lib_div::debug(array('ts'=>$ts
,'img'=>$img
,'fileexist'=>is_file($ts['image.']['file']).';'
).'berechneImg',__LINE__,__FILE__);
return $image;
}
Marker ersetzen:
$content .= $this->cObj->substituteMarkerArrayCached($template_reference, $marker, $markerArray, array(), array());
Kann da jemand von den Profis vielleicht nochmal drüber schauen?
Vielen Dank an den- oder diejenige... 🙂
Grüße
Walter
$content .= $this->cObj->substituteMarkerArrayCached($template_reference, $marker, $markerArray, array(), array());
Ich weiß nicht ob es hilft, aber die leeren Marker am Ende ( array(), array() ) brauchst Du nicht mit extra angeben.