Wer einen Webshop betreibt, sollte eigentlich schon Webspace mit genügend Leistung mieten. Trotzdem kommt es vor, dass man als “Anfänger” ein vermeintlich günstiges Angebot wählt - und nicht mehr ausreichend Reserve für eine Shopkopie zur Verfügung hat.

So kann es passieren, dass man zwar ein paar Subdomains einrichten kann, aber eine zusätzliche Datenbank kostet drei Euro nochwas im Monat. Oder die Produktbilder passen nicht mehr in den Testshop-Ordner, weil der Server einfach voll ist.

 

Ein Testshop ist schnell erstellt:

Subdomain einrichten, alle Dateien vom Live-System zum Subdomain-Ordner rüberkopieren (okay - das dauert, man muss aber nicht die ganze Zeit vorm Rechner hocken), die config-Dateien entsprechend anpassen - und … halt! Nur eine Datenbank? - Das macht nichts. Man kann seinen Test- und seinen Liveshop mit derselben Datenbank laufen lassen.

Tipp am Rande: Den Testshop sollte man mit einem einfachen .htaccess-Passwortschutz versehen, damit sich nicht ungewollt irgendwelche Suchmaschinen auf der Baustelle herumtreiben.

Achtung: Man muss sich jedoch darüber im Klaren sein, dass sich dann alle Änderungen (wie neue Artikel anlegen, Konfigurations-Einstellungen ändern etc.) auch auf den Live-Shop auswirken. Zum Template-Basteln, hier Fehler suchen, da was Optimieren reicht’s aber.

Solange man im Test-Ordner nur an Dateien herumbaut, kriegt man im Live-System nichts davon mit. Da kann man also fröhlich “rumsauen” und muss wegen Fehlermeldungen nicht ins Schwitzen kommen.

 

Kein Platz mehr?

Meistens ist der Ordner mit den Artikelbildern am größten. Ein GigaByte ist keine Seltenheit. Im Testshop kann dieser Ordner aber auch gerne komplett leer sein - Mit einem kleinen Zusatz im Smarty-Outputfilter holt sich der Testshop alle Produktbilder aus dem Live-System.

Wir öffnen die Datei “includes/classes/Smarty_2.6.14/plugins/outputfilter.note.php” und fügen vor der return-Anweisung Folgendes ein:


$tpl_output = preg_replace("/(src=['\"]|href=['\"])(images\/product_images\/)/i","$1http://www.meinLiveShop.de/$2", $tpl_output);
	

… und die Artikelbilder vom Testshop sind dieselben wie im echten System.

Damit funktionieren übrigens auch HighSlide-Vergrößerungen. Was nicht klappt, ist die Standard-Vergrößerung von xt:Commerce - Das liegt daran, dass die “popup_image.php” nicht mit Smarty arbeitet und den Outputfilter nicht nutzt. Aber damit kann man leben …

 

(Nachtrag: 9. Oktober 2009)
Andere Variante: Config-Datei ändern

Alternativ kann man in der Konfigurations-Datei einen anderen Bild-Pfad festlegen.

Das ist insbesondere dann zu bevorzugen, wenn man für die Bild-Ausgabe Funktionen benutzt, die via getimagesize eine Bildgröße ermitteln oder via file_exists überprüfen, ob das gewünschte Bild überhaupt vorhanden ist.

Dazu öffnet man die Datei “includes/configure.php”, kommentiert die alten Pfade aus - und setzt stattdessen neue ein:


/*
define('DIR_WS_ORIGINAL_IMAGES', DIR_WS_IMAGES .'product_images/original_images/');
define('DIR_WS_THUMBNAIL_IMAGES', DIR_WS_IMAGES .'product_images/thumbnail_images/');
define('DIR_WS_INFO_IMAGES', DIR_WS_IMAGES .'product_images/info_images/');
define('DIR_WS_POPUP_IMAGES', DIR_WS_IMAGES .'product_images/popup_images/');
*/
define('DIR_WS_ORIGINAL_IMAGES', 'http://www.meinLiveShop.de/images/product_images/original_images/');
define('DIR_WS_THUMBNAIL_IMAGES', 'http://www.meinLiveShop.de/images/product_images/thumbnail_images/');
define('DIR_WS_INFO_IMAGES',  'http://www.meinLiveShop.de/images/product_images/info_images/');
define('DIR_WS_POPUP_IMAGES', 'http://www.meinLiveShop.de/images/product_images/popup_images/');
	

So sollten dann auch die popup_images.php-Vergrößerungen funktionieren.