Shopware Knowledgebase

Shopware Labs

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
Falls Sie nachträglich die Größe der automatisch erzeugten Thumbnails geändert haben und diese Änderung auch auf bereits

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

Waren diese Informationen hilfreich? Ja Nein


Kommentare:

Artikel kommentieren


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:

Bestell-Nr.: 86294_

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: