Zum Inhalt springen

renderImage klemmt

Erstellt am 17. Februar 2010 · 10 Antworten · letzte Antwort am 18. Februar 2010

Tags: Frage

carla ·

Hallo,

ich habe wiedermal ein Problem.
Ich möchte in meiner Extension ein Bild anzeigen lassen, aber ich bekomme nur den Titel des Bildes angezeigt.
Hier mein Code:

if ($this->internal["currentRow"]["image"]) {
$imgsrc = "uploads/tx_myext/".$this->internal["currentRow"]["image"];
$altinfo = $this->internal["currentRow"]["name"];
$photo = $this->renderImage($imgsrc,$imgMaxWidth,$this->internal["currentRow"]["name"],"singleImage");
}

Sieht jemand von euch, wo ich den Fehler habe?

Danke

Carla

carla ·

Hallo,

sorry, vollig übersehen.

Hier die Funktion:

function renderImage($image, $maxw, $alttag, $cssclass="")	{

$file = $image;
$imgInfo='';
$maxw = ($maxw) ? $maxw.'m' : '80m';

$imgObj = t3lib_div::makeInstance('t3lib_stdGraphic');
$imgObj->init();
$imgObj->mayScaleUp=0;
$imgObj->tempPath=PATH_site.$imgObj->tempPath;
$imgInfo = $imgObj->getImageDimensions($file);

if ($imgInfo)	{
$imgInfo_scaled = $imgObj->imageMagickConvert($file,'web',$maxw,'',"",'',"",1);
$imgInfo_scaled[3] = $this->backPath.'../'.substr($imgInfo_scaled[3],strlen(PATH_site));
//$imageHTML = $imgObj->imgTag($imgInfo_scaled);
$imageHTML = '<img src="'.$imgInfo_scaled[3].'" width="'.$imgInfo_scaled[0].'" height="'.$imgInfo_scaled[1].'" border="0" alt="'.$alttag.'" class="'.$cssclass.'"/>';
$content.= $imageHTML;
		}
return $content;
}

Da ich diesen Code aus einem etwas älteren Projekt übernehmen musste und ich den Ersteller nicht kenne, kann ich so viel nicht dazu sagen.
Aber ich habe den Verdacht, dass die Funktion "imageMagickConvert" nicht so arbeitet, wie vorgesehen.

Danke

Carla

Norman2k ·

Also ich würde die Funktion raus schmeißen und die Bilder mit der TYPO3-Funktion IMAGE erstellen. Bei den Kommentaren in der TSRef ganz unten findest du auch ein Beispiel, wie man das in PHP verwendet.

carla ·

Hallo,

hat bestens geklappt.

Aber eine Frage hätte ich dann doch noch: was wären für den Einstieg in die Extension-Programmierung die ersten Abschnitte, was man sich aus der API verinnerlichen sollte? Wahrscheinlich alles was mit dem Ein- und Auslesen der DB-Inhalte zu tun hat und dann noch ... ?

Merci vielmals

Carla

carla ·

Danke nochmals,

nun, da kann ich mich ja mal mit beschäftigen. Den Link kannte ich noch nicht.

Viele Grüße

Carla

BlackPixel ·

In dem Zusammenhang würde ich dir die extension t3dev empfehlen. Die bindet sich oben rechts neben dem Symbol "Cache Löschen" ein. Von dort aus hast Du zugriff auf die Dokus zu:

t3lib_div
t3lib_extMgM
BEFunc
DB
template
lang
piBase
cObj (Wichtig!!)
TSRef
TSconfig
Core API
Coding Guidlines
TYPO3.org :p

Sehr nützliches Teil, vor allem die apidocs!

Gruß Manfred