Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.
Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.
Nachträgliche Veränderung der Thumbnail Größen
0 Kommentare| bis Version: | 3.0.4 |
angelegte Artikel übernehmen möchten, können Sie den nachfolgenden Code verwenden.
Einfach in einer neuen PHP-Datei im Stammverzeichnis Ihres Shops ablegen und nach der Ausführung löschen! Parameter:
- $thb = Nummer / Prefix des Thumbnails welches aktualisiert werden soll
- $x = Neue (feste) Breite in Pixeln
- $y = Neue (feste) Höhe in Pixeln
<?php
include ("config.php");
mysql_connect($DB_HOST, $DB_USER, $DB_PASSWORD);
$db_select = mysql_select_db($DB_DATABASE);
$bild = new bildedit();
$uploaddir = 'images/articles/';
if (!is_dir($uploaddir)){
die("$uploaddir it´s not a directory");
}
// Thumbnail - Number der zu aktualisierenden Größe und neue Größe x/y in px
$thb = 1;
$thb_x = 70;
$thb_y = 70;
$sql = "SELECT img FROM s_articles_img";
$result = mysql_query($sql);
echo "<strong>".mysql_num_rows($result)." zu aktualisierende Bilder</strong>
";
while ($row = mysql_fetch_assoc($result))
{
$filename = $row["img"].".jpg";
$uploadfile = $uploaddir . basename($filename);
if (!file_exists($uploaddir)){
die ("$uploadfile it´s not a file<br>rn");
}
$pictureSize = getimagesize($uploadfile);
echo "Source: ".$uploadfile." ({$pictureSize["x"]} / {$pictureSize["y"]})
";
if (!$thb_y){
$bild->resize($uploadfile,$thb_x,0,1,$uploaddir.$row["img"]."_$thb.jpg");
}else {
$bild->resize_dynamic($uploadfile,$thb_x,$thb_y,1,$uploaddir.$row["img"]."_$thb.jpg");
}
echo "Target: ".$uploaddir.$row["img"]."_$thb.jpg"." ($thb_x / $thb_y)
";
}
class bildedit
{
function resize ($picture, $new_width, $new_height, $mode, $newfile)
{
$image=imagecreatefromjpeg($picture); //erstellt ein Abbild im Speicher
$size=getimagesize($picture); //ermittelt die Größe des Bildes
$breite=$size[0]; //die Breite des Bildes
$hoehe=$size[1]; //die Höhe des Bildes
// Verhältnis Breite zu Höhe bestimmen
$verhaeltnis = $breite/$hoehe;
if ($breite < $new_width){
$breite_neu = $breite;
}else {
$breite_neu = $new_width;
}
$hoehe_neu = round($breite_neu / $verhaeltnis,0);
$newImage=imagecreatetruecolor($breite_neu,$hoehe_neu); //Thumbnail im Speicher erstellen
imagecopyresampled($newImage,$image,0,0,0,0,$breite_neu,$hoehe_neu,$breite,$hoehe);
imagejpeg($newImage,$newfile,90); //Thumbnail speichern
imagedestroy($image);
imagedestroy($newImage);
}
function resize_dynamic ($picture, $new_width, $new_height, $mode, $newfile)
{
$image=imagecreatefromjpeg($picture); //erstellt ein Abbild im Speicher
$size=getimagesize($picture); //ermittelt die Größe des Bildes
$breite=$size[0]; //die Breite des Bildes
$hoehe=$size[1]; //die Höhe des Bildes
// Verhältnis Breite zu Höhe bestimmen
if ($breite > $hoehe){
$verhaeltnis = $breite/$hoehe;
$breite_neu = $new_width;
$hoehe_neu = round($breite_neu / $verhaeltnis,0);
}else {
$verhaeltnis = $hoehe/$breite;
$hoehe_neu = $new_height;
$breite_neu = round($hoehe_neu / $verhaeltnis,0);
}
$newImage=imagecreatetruecolor($breite_neu,$hoehe_neu); //Thumbnail im Speicher erstellen
imagecopyresampled($newImage,$image,0,0,0,0,$breite_neu,$hoehe_neu,$breite,$hoehe);
imagejpeg($newImage,$newfile,90); //Thumbnail speichern
imagedestroy($image);
imagedestroy($newImage);
}
}
?>
Artikel-PDF erstellen
Artikel bewerten
Kommentare:
Artikel kommentieren
Weitere interessante Artikel:
Bestell-Nr.: 86294_
Lieferzeit ca. 5 Tage
Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*
Preise inkl. gesetzlicher
MwSt. + Versandkosten*
Kategorien: