Mach ma kleiner!

An allen Ecken und Enden wird optimiert, was das Zeug hält. Bei Javascript und CSS gehört es quasi mittlerweile zum guten Ton, das ganze um Leerzeichen und Kommentare bereinigt auszuliefern, um die Dateigröße zu minimieren und damit die Ladezeiten zu optimieren. Bei Bildern, so scheint es, ist diese Erkenntnis noch nicht überall angekommen. Aber auch hier steckt immenses Optimierungspotential.

Zwei Apps erleichtern dem Webworker dabei die tägliche Arbeit.

Smaller

Sicher, es gibt diverse Online-Lösungen, die ein unkomprimiertes Javascript oder CSS durch den YUI Compressor jagen und man kann sich diesen natürlich auch selbst installieren, aber eine grafische Oberfläche, die auch Dateien per Stapelverarbeitung abarbeiten kann, wäre schon schön. Genau das leistet die Shareware Smaller, die darüber hinaus auch noch HTML komprimiert. Mit $20 nicht ganz billig, aber ich möchte im täglichen Arbeitsablauf nicht mehr darauf verzichten müssen. Neben der reinen Komprimierung kann das Programm darüber hinaus auch noch mehrere Dateien zu einer kombinieren.

ImageOptim

Eine verlustfreie Komprimierung von Bildern hat sich dagegen ImageOptim auf die Fahnen geschrieben. Auch hier ist eine Stapelverarbeitung möglich, das Tool unterstützt alle gängigen Web-Grafikformate (inkl. animierterter GIFs, sofern das heutzutage noch jemand braucht) und wählt selbständig die beste Kompressionsmethode. Selbst aus Bilder, die in Photoshop mit „Für Web speichern” gespeichert wurden kitzelt es noch ein paar Prozent raus. Punkten kann das Tool auch beim Preis, es ist nämlich Freeware.

Kleinere Dateien wirken sich nicht nur bei der Ladezeit positiv aus sondern mitunter auch im Geldbeutel, beispielweise wenn man seine Bild- und CSS-Dateien über ein CDN ausliefern lässt.

Konfigurierbare Produkte mit individuellen Preisen

Bei manchen Funktionalitäten, die in Magento eingebaut sind, fragt man sicht schon, ob man bei Varien mit dem, was man sich da zusammenklöppelt, auch einen Praxisbezug sieht oder ob man einfach irgendwas programmiert, egal ob es in der Praxis brauchbar ist oder nicht. Die Preisvergabe bei konfigurierbaren Produkten ist so ein Fall. Magento sieht von Haus aus vor, dass man einer Variante, etwa einer anderen Größe, einen festen oder prozentualen Aufpreis geben kann. Oder anders gesagt, die untenstehende Preismatrix funktioniert mit diesem System schon nicht mehr:

  11cm 15cm
natur 28,40 31,80
Goldrand 31,20 34,90
lasiert 34,60 40,70

Denn bei natur kostet die 15cm-Variante 3,40 Euro mehr, bei Goldrand aber schon 3,70 Euro und bei lasiert gar 6,10 Euro. Das lässt sich weder durch einen Fixpreis noch durch einen prozentualen Aufschlag abdecken und wenn man dann noch bedenkt, dass man das auch noch für die Ausführung (natur, Goldrand, lasiert) machen muss bricht das ganze System in sich zusammen.

Zum Glück gibt es eine Lösung, die eigentlich so naheliegend ist, dass man sich fragt, warum Magento das nicht einfach von Haus aus kann: Simple Configurable Products. Die Erweiterung sorgt dafür, dass einfach der direkt beim Produkt hinterlegte Preis benutzt wird. Und nicht irgendwelche komischen Berechnungen durchgeführt werden, die am Ende doch nicht zum gewünschten Ergebnis führen.

Einen kleinen Bug hat die Erweiterung aber: Zeigt man die gewählte Option im Warenkorb an, dann wird immer das Admin-Label für das Attribut verwendet, welches nicht mehrsprachig ist. Aber dafür gibt es Abhilfe. Die Datei, um die es geht, ist Checkout/Block/Cart/Item/Renderer.php. Dort findet sich in Zeile 81:

'label' => $attribute->getFrontendLabel(),

Das muss lediglich durch

'label' => $attribute->getStoreLabel(),

ersetzt werden und schon sind die Label auch in der jeweiligen Store-Sprache.