Archive for Dezember 21st, 2007
Eigentlich ist man ja seit der Grundschule aus dem Alter raus, im Sandkasten zu spielen. Aber was die Künstler da fabrizieren macht einen echt neidisch doch nicht noch ein paar Jahre länger in der Sandbox verbracht zu haben
Seht selbst:
abstrakt · Kunst · sand · sandkasten
21
MiniThumbnails für XT Commerce 3.0.4 SP2.1
8 Comments · Posted by derKosta in Allgemein, eCommerce, xt:Commerce
Heute stande ich vor dem Problem beim GPL Open Source OnlineShop xt:Commerce eine weitere Bildgröße zu benötigen. Da der Shop leider nur standardmäßig 3 Artikelbildgrößen erlaubt (Thumbnail, etwas größeres Artikelbild, großes Artikelbild) habe ich mir einen Weg gesucht noch eine 4. Größe einzuführen. Ich verwende diese Größe als Mini-Image. D.h. noch kleiner als das Thumbnail.
So ist es möglich, das Mini-Image z.B. für die Bestsellerliste oder den Artikelwarenkorb zu werden. Ohne dass man das normale Thumbnail mittels HTML Größenangaben verkleinern muss, was ja bekannter Maßen bescheiden (verpixelt) aussieht.
Als ich schon 3/4 der Arbeit fertig hatte kam doch noch eine rettende Antwort im ecombase.de Forum, dass es schon ein Lösungsansatz gibt. Da ich Perfektionist bin, habe ich Purecut’s Lösung mit meiner kombiniert und heraus kommt ein komportabler Hack für den XTC. Man kann sogar die Mini-Thumbnailgröße in den Bild Optionen einstellen und muss nicht die PHP Datei abändern.
Hier der Umbau. Erstelle von jeder originalen Datei, welche geändert wird ein Backup! Lade dir vorher die neusten configure.php Dateien runter.
Lade frisch die Datei /admin/includes/configure.php vom Server und öffne diese.
Suche nach:
define('DIR_FS_CATALOG_ORIGINAL_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/original_images/');
Füge danach folgendes ein:
// mini thumbs beginn
define('DIR_FS_CATALOG_MINI_IMAGES', DIR_FS_CATALOG_IMAGES .'product_images/mini_images/');
define('DIR_WS_CATALOG_MINI_IMAGES', DIR_WS_CATALOG_IMAGES .'product_images/mini_images/');
// mini thumbs end
Speicher die Datei ab, lade sie hoch und setze die chmod Rechte wieder auf 444.
Lade frisch die Datei /includes/configure.php vom Server und öffne diese.
Suche nach:
define('DIR_WS_ORIGINAL_IMAGES', DIR_WS_IMAGES .'product_images/original_images/');
Füge danach folgendes ein:
// mini thumbs beginn
define('DIR_WS_MINI_IMAGES', DIR_WS_IMAGES .'product_images/mini_images/');
// mini thumbs end
Speicher die Datei ab, lade sie hoch und setze die chmod Rechte wieder auf 444.
Lege nun auf deinem Server im XTC Pfad /images/product_images/ den Ordner /mini_images/ an. Gebe ihn mit chmod 777 Rechte. Dieser Ordner speichert dann die Mini Images.
Öffne nun die Datei /admin/includes/modules/export/image_prosessing.php
Suche folgendes:
require(DIR_WS_INCLUDES . 'product_thumbnail_images.php');
require(DIR_WS_INCLUDES . 'product_info_images.php');
require(DIR_WS_INCLUDES . 'product_popup_images.php');
Füge darunter ein:
// mini thumbs beginn
require(DIR_WS_INCLUDES . 'product_mini_images.php');
// mini thumbs end
Speicher die Datei und lade sie hoch.
Kopiere nun die Datei /admin/includes/product_thumbnail_images.php und benenne die Kopie in product_mini_images.php um.
Öffne die eben neu erstelle Datei product_mini_images.php
Suche:
$a = new image_manipulation(DIR_FS_CATALOG_ORIGINAL_IMAGES . $products_image_name,PRODUCT_IMAGE_THUMBNAIL_WIDTH,PRODUCT_IMAGE_THUMBNAIL_HEIGHT,DIR_FS_CATALOG_THUMBNAIL_IMAGES . $products_image_name,IMAGE_QUALITY,'');
Ersetze es durch:
$a = new image_manipulation(DIR_FS_CATALOG_ORIGINAL_IMAGES . $products_image_name,PRODUCT_IMAGE_THUMBNAIL_MINI_WIDTH,PRODUCT_IMAGE_THUMBNAIL_MINI_HEIGHT,DIR_FS_CATALOG_MINI_IMAGES . $products_image_name,IMAGE_QUALITY,'');
Speicher die Datei und lade sie hoch.
Führe nun folgenden Datenbank Befehl via phpMyAdmin in deiner Shop mySQL Datenbank aus:
INSERT INTO `configuration` VALUES
('', 'PRODUCT_IMAGE_THUMBNAIL_MINI_WIDTH', '50', 4, 12, NULL, '0000-00-00 00:00:00', NULL, NULL),
('', 'PRODUCT_IMAGE_THUMBNAIL_MINI_HEIGHT', '38', 4, 12, NULL, '0000-00-00 00:00:00', NULL, NULL);
Öffne die Datei /lang/german/admin/configuration.php
Füge folgendes unter das Copyright Kommentar ein:
// lang definitions for mini images mod
define('PRODUCT_IMAGE_THUMBNAIL_MINI_WIDTH_TITLE', 'Breite der Artikel-Mini-Thumbnails');
define('PRODUCT_IMAGE_THUMBNAIL_MINI_WIDTH_DESC', 'Maximale Breite der Artikel-Mini-Thumbnails in Pixel');
define('PRODUCT_IMAGE_THUMBNAIL_MINI_HEIGHT_TITLE', 'Höhe der Artikel-Mini-Thumbnails');
define('PRODUCT_IMAGE_THUMBNAIL_MINI_HEIGHT_DESC', 'Maximale Höhe der Artikel-Mini-Thumbnails in Pixel');
// mini thumbs beginn
Speicher die Datei und lade sie hoch. Beachte, dass du auch in die anderen Sprachdateien diese Variablen einfügen musst. So zum Beispiel in die /lang/english/admin/configuration.php und alle anderen Sprache, welche du im Shop und im Adminbereich nutzt!
Alle Dateiänderungen sind nun abgeschlossen.
Gehe im Adminbereich deines Shops in folgendes Menü: Module > XT-Module > “XT-Imageprocessing” anklicken > Start > OK
Jetzt legt der Shop automatisch nochmal alle Artikelbilder in den gewünschten Größen an. Auch das Mini Image im Order /images/product_images/mini_images/
Das Bild hat standardmäßig eine Größe von 50×38 Pixel. Diese kannst du im Adminmenü > Mein Shop > Bild Optionen > “Breite und Höhe der Artikel-Mini-Thumbnails” anpassen. Danach musst du das XT-Imageprocessing Modul erneut starten.
Nun kannst du die neue Konstante überall ersetzen, wo du das kleine Mini-Image einsetzen möchtest. Tausche dort wo sich ein normales Thumbnail befindet folgenden Code aus:
$image = DIR_WS_THUMBNAIL_IMAGES.$products[$i]['image'];
gegen diesen z.B. ersetzen:
$image = DIR_WS_MINI_IMAGES.$products[$i]['image'];
Beachte: DIR_WS_THUMBNAIL_IMAGES brauch nur in DIR_WS_MINI_IMAGES geändert werden!
Von meiner Seite werden sicherlich noch einige Anwendungen mit diesem Hack veröffentlicht werden. Viel Spaß damit und herzlichen Dank an Sausi für die Hilfestellung
Update: Nachtrag
Aktuell wird das Mini Image nur durch das XT Module ImageProcessing erstellt. Damit das Zusatzbild auch beim händichen editieren eines Artikels im Adminmenü erstellt wird, musst du in der Datei /admin/includes/classes/categories.php ab Zeile 615 noch folgendes einfügen:
require (DIR_WS_INCLUDES.'product_mini_images.php');
Update: Nachtrag
Ok, hier jetzt noch die Veränderungen, welche an der /includes/modules/product_info.php gemacht werden müssen, um das Zusatzbild auch auf der Produktseite benutzen zu können.
Suche Zeile:
$image = DIR_WS_INFO_IMAGES.$product->data['products_image'];
Füge darunter ein:
$mini_image = DIR_WS_MINI_IMAGES.$product->data['products_image'];
Suche Zeile:
$info_smarty->assign('PRODUCTS_IMAGE', $image);
Füge darunter ein:
$info_smarty->assign('PRODUCTS_MINI_IMAGE', $mini_image);
Jetzt kannst du schon das erste Produktbild in der neuen Größ benutzen. Da es aber noch zusätzliche Produktbilder gibt, 2 – 3 – 4 usw… muss noch folgendes gemacht werden:
Suche Zeile:
$mo_img = DIR_WS_INFO_IMAGES.$img['image_name'];
Füge darunter ein:
$mini_img = DIR_WS_MINI_IMAGES.$img['image_name'];
Suche Zeile:
$info_smarty->assign('PRODUCTS_IMAGE_'.$img['image_nr'], $mo_img);
Füge darunter ein:
$info_smarty->assign('PRODUCTS_MINI_IMAGE_'.$img['image_nr'], $mini_img);
Abspeichern, hochladen. Voila, jetzt kannst du im Template der ProductInfo folgende Variablen für diese Bildgröße nehmen:
{$PRODUCTS_MINI_IMAGE}
Für das erste Produktbild in Minigröße. (Oder deine eingestellte Wunschgröße)
{$PRODUCTS_MINI_IMAGE_2}
Für das zweite Produktbild in Minigröße (Oder deine eingestellte Wunschgröße). Die Zahl in der Variable kannst du dann hochsetzen, so viel Bilder wie du hast/brauchst. Willst du die Bilder 1 bis 3 nebeneinander anzeigen, muss z.B. dass hier im Template stehen:
{$PRODUCTS_MINI_IMAGE} {$PRODUCTS_MINI_IMAGE_2} {$PRODUCTS_MINI_IMAGE_3}
Im Einsatz kannst du es z.B. hier sehen: Termignoni 1 Schalldämpfer Rund für Yamaha R6 Bj 2006 bis 2009
Kleines 3. Produktbild unter großem, ersten und zweiten Produktbild.
eCommerce · modul · xt commerce · xtc
21
Kein langweiliges “Im-Kreis-Fahren”
No comments · Posted by derKosta in Allgemein, Fun, RC, Toy
Beim durchstöbern beliebter online Videosammlungen bin auf ein paar RC Spielzeugmodelle aufmerksam geworden. Langweiliges im Kreis fahren war gestern. Diese Teile bleiben nicht auf dem Teppich
Air Trucks · RC













