Die Woche Wochen auf StackExchange #24-29 / 2016

Das wöchentliche Format habe ich ja nicht sehr lange durchgehalten, aber ein paar Beiträge auf Magento StackExchange kamen in den letzten 5 Wochen dann doch zusammen, die vielleicht einen Blick wert sind (und ein neues T-Shirt):

Magento 2

Magento 1

Magento Theme Refactoring

Ein sehr häufiges Problem in 2014 war „Ich habe auf Magento 1.8 aktualisiert und jetzt funktioniert das (Login|Warenkorb)-Formular nicht mehr“. Der Grund war, dass seit Magento 1.8 der form key in mehr Formularen genutzt wird, als Security Feature (verhindert CSRF-Angriffe). Aber in jedem Theme, das eine eigene Version der jeweiligen Templates enthielt, fehlte der Form Key, so dass die serverseitige Validierung fehlschlug, leider ohne jede Fehlermeldung.

Natürlich gibt es Themes, deren Markup so verschieden vom Default Theme ist, dass die meisten Templates aus gutem Grund überschrieben wurden. Aber ich sehe mindestens genauso viele Themes, insbesondere Eigenentwicklungen, bei denen erst einmal alle Templates aus base/default kopiert und dann angepasst wurden. Für das Überschreiben von Layout-XML-Dateien gibt es fast keine Entschuldigung, das Layout kann man in allen erdenklichen Möglichkeiten mit einer Theme-spezifischen local.xml Datei anpassen.

Das obengenannte Problem ist ein gutes Beispiel für die Gründe des „Achte auf Updatefähigkeit“ Mantras. Die Fehler hätten vermieden werden können, wenn nur Dateien kopiert worden wären, die wirklich Anpassung benötigten.

In diesem Artikel möchte ich meinen Prozess zum Theme Refactoring darlegen (nur den strukturellen Teil, der HTML-Quelltext wird anschließend exakt gleich aussehen wie vorher, abgesehen von Änderungen durch neuere Versionen der Default-Templates).

Weiterlesen auf integer-net.de

Formular-Probleme nach auf Magento Update auf CE 1.8.1 oder EE 1.13.1 (Login, Warenkorb)

Wenn nach einem Magento Update auf CE 1.8.1 oder EE 1.13.1 die Login-Formulare im Frontend nicht mehr funktionieren, muss das genutzte Theme aktualisiert werden. Die Formulare benötigen nun einen Form Key, fehlt dieser schlägt die Validierung im Controller fehl. Das selbe gilt für den “Warenkorb aktualisieren” Button in cart.phtml. Wie das gefixt werden kann, siehe hier:


http://blueclawecommerce.co.uk/blog/fix-customer-cannot-login-to-magento-1-8-1/

Optimal ist natürlich, wenn das Theme so wenig wie möglich an Core-Templates überschreibt und Änderungen weitestgehend mit Layout-Updates in [theme]/local.xml und CSS vornimmt.