Hallo!
Das ist keine Frage sondern eine Lösung.
Stichwörter: Produktbild, transparent, Transparenz, gif, schwarz, Produktbilder
Wenn man für die Produktbilder Gif-Dateien nimmt, die Transparenz enthalten, dann werden von xt:commerce bei der Bildmanipulation die transparenten Bereiche schwarz.
Um sie transparent zu lassen folgendes tun:
Datei admin/includes/classes/image_manipulator_GD2.php öffnen
Ganz unten gibt es die Methode create(). Die ersetzen durch folgenden Code:
function create()
{
if($this->s !== Null)
{
if($this->d !== "")
{
ob_start();
/*keep gif transparent*/
if ($this->k==1){
$im = $this->t; //image resource
$img = imagecreatetruecolor($this->m,$this->n);
$trans = imagecolorallocate($img,0,0,0); //farbe die transparent werden soll r,g,b
imagecolortransparent($img,$trans);
imagecopy($img,$im,0,0,0,0,$this->m,$this->n);
imagetruecolortopalette($img, true, 256);
imageinterlace($img);
imagegif($img,$this->d);
imagedestroy($img);
}
else{
imagejpeg($this->t, $this->d, $this->e);
}
ob_end_clean();
}
imagedestroy($this->s);
imagedestroy($this->t);
}
}
[/PHP]
Achtung: Die letzte geschweifte Klammer in der Datei schließt die Klasse und nicht die Methode.
Das ganze ist natürlich ein schlechter Hack. Wenn eure gifs irgendwo schwarze Bereiche haben, dann werden die dummerweise auch alle transparent. Um das zu verhindern reicht es allerdings, wenn ihr diese Bereiche statt schwarz einfach gaaaaaanz dunkelgrau macht. Also die Farbwerte rgb auf 1 1 1 oder hexdezimal auf 010101.
Außerdem braucht ihr GD2 und zwar ab Version 2.0.28, da vorher überhaupt kein gif unterstützt wird.
Vielleicht hilft es ja jemandem.
Gruß
Uwe