28.06.2012
Auch wenn man den Title in Magento natürlich eigentlich nur sauber über einen Controller verändern sollte, so gibt es doch Situationen, wo es einfach bequemer und sinnvoller ist, den Title über JavaScript im Template zu ändern. Beispielsweise auch, falls man den Title nur durch User-Interaktion verändern möchte. Damit der Title trotzdem noch den Prefix und Suffix von Magento enthält, muss man diese Variablen mit getStoreConfig abrufen und ebenso einbinden. Bei diesem Beispiel wird der Title durch den Standard Title von Magento ersetzt mit der Variable $newTitle zwischen Prefix und Suffix....
27.06.2012
Es gibt viele Situationen, wo der Magneto Cache geleert werden muss. Ein gutes Beispiel ist vor oder nach dem Einspielen von Produktdaten in Magento. Durch das leeren des Caches vor dem Import kann man teilweise deutlich höhere Durchsatzraten erzielen. Aber auch nach dem Import macht es Sinn, den HTML-Cache zu leeren. Man kann den Magento Cache sowohl per PHP als auch per FTP / Shell leeren. Magento Cache per PHP leeren Um gleich nach dem Import Vorgang den Cache zu leeren, kann man folgenden Code verwenden. Natürlich kann man per php auch den Image Cache leeren. Dadurch werden alle Thumbnails der Produktbilder gelöscht und beim ersten Aufruf neu erstellt. Wenn man beispielsweise Bilder per FTP austauscht, können so die neuen Thumbnails generiert werden. Magento Cache per FTP oder Shell leeren Den Magento Cache per FTP oder Shell zu leeren klappt nicht bei jeder Magento Installation. Durch den modularen Aufbau von Magento kann der Filecache leicht durch einen Redis oder Memcache Cache ersetzt werden. Falls der Magento Filecache benutzt wird, funktioniert allerdings auch das löschen des Magento Caches per FTP oder Shell einwandfrei. Hierzu wechselt man in das Verzeichnis var/cache/ und löscht alle Unterordner inklusive der jeweiligen Inhalte. In der Linux Shell funktioniert es noch etwas schneller. Einfach im Magento Hauptverzeichnis folgenden Befehl...
27.06.2012
Um einen Couponcode nachträglich von einer Bestellung zu entfernen, kann man folgendes MySQL Query ausführen: Hierbei muss nur noch die entity_id in der WHERE Bedingung auf die jeweilige OrderId angepasst...
10.05.2012
Während der Entwicklung eines Magento Shops werden zwangsläufig einige Testbestellungen gemacht. Damit der Shop bei der Übergabe aber nicht bereits Bestellungen vorweist, sollte man davor die Bestellungen entfernen und die Auto Increment Ids auf 1 setzen. Das geht bei Magento 1.5 nur mit SQL Queries und nicht durch das Löschen der Kunden im Backend. Mit dem unten angehängten SQL Query werden die Kunden und Bestellungen aus einem Magento 1.5.x Shop entfernt und die auto_increment Ids wieder auf 1 gesetzt....
10.04.2012
Falls man beim Import von Produkten mit mehreren Storeviews arbeitet, kann es vorkommen dass ungewünscht default Werte überschrieben werden. Auch soll es schon vorgekommen sein, dass Mitarbeiter nicht richtig angelernt waren und daher nicht die Standardwerte bearbeitet haben. Da Magento hier keine Möglichkeit bietet, einfach gegenüberzustellen wo Standardeinstellungen überschrieben werden, muss man hier direkt mit der SQL Datenbank arbeiten. Um alle Produkteinstellungen anzuzeigen, welche nicht von den default Werten übernommen werden, werden folgende Querys benutzt: Anschließend sollte man die Ergebnisse der Querys nochmal durchgehen und sich anschauen, ob nicht doch der ein oder andere Eintrag mit Absicht gesetzt worden ist. Falls nicht, kann man alle custom Daten mit folgenden Querys löschen: Zu bemerken wäre noch, dass hierbei allerdings nur Produkteinstellungen gelöscht werden, welche nicht den Standardwerten entsprechen. Die Konfigurationseinstellungen der verschiedenen Storeviews werden hierbei nicht verändert oder...
31.03.2012
Nach einem Update auf Magento 1.5 müssen erstmal einige Bugs gefixt werden, um das Produktive Arbeiten wieder zu ermöglichen. Dazu gehört neben dem Geburtstags Validierungs Bug auch der Kategorie Baum in der Produktansicht. In Magento 1.4 ist der Kategorie Baum in der Produktansicht standardmässig aufgeklappt gewesen. Dadurch hat man sofort gesehen, in welchen Kategorien das Produkt ist. Leider hat sich in diese Funktion in der Version 1.5 ein Bug eingeschlichen oder wurde absichtlich entfernt. Um in der Produktansicht wieder sofort einen Überblick über die ausgewählten Kategorie zu bekommen, sind folgende Schritte durchzuführen. Zuerst sollte man eine Sicherungskopie der Datei anlegen. Anschließend wird die ursprüngliche Datei bearbeitet und die getSelectedCategoriesPathIds Funktion mit der gleichnamigen Funktion der Magento Version 1.4 ersetzt: Anschließend sollte der Kategorie Baum in der Produktansicht wieder wie von den vorherigen Versionen gewohnt angezeigt...
28.03.2012
Es wird nicht mit jedem Update immer alles nur besser. Diese Erfahrung machen derzeit auch die Magento User, welche auf die Version 1.5 geupdated haben. In der Version 1.5 existiert unter anderem ein Bug bei der Anmeldung eines neues Benutzerkontos. Durch diesen Bug wird dem Besucher bei der Anmeldung selbst bei einem gültigen Geburtstagsdatum die Fehlermeldung angezeigt, dass kein gültiges Geburtsdatum eingegeben worden ist. Der Fehler existiert allerdings nur, wenn das Geburtsdatum eine führende Null hat. Hier greift dann ein Fehler in der /js/varien/js.js Javascript-Datei. In der Zeile 438 steht in der original Zeile folgender Code: Diese Zeile muss man durch folgende Zeile ersetzen: Anschließend sollte der JavaScript / Css Cache von Magento geleert werden. Dadurch sollte die Benutzerkonto Eröffnung wieder ohne Probleme...
03.03.2011
Bei Magento gibt es mehrere Möglichkeiten Blöcke anzulegen. Die einfachste Möglichkeit besteht darin, dass man die Blöcke direkt im integrierten CMS anlegt. Dadurch verliert man zwar die Möglichkeit in den Blöcken Code auszuführen, allerdings bestehen viele Blöcke sowieso nur aus statischen Inhalten. Statische Blöcke einbinden Am saubersten erfolgt die Einbindung in den Layout-XML Dateien: Alternativ dazu kann man Blöcke auch direkt in die Template Dateien ( .phtml ) einbinden: Die letzte Möglichkeit ist die Integration direkt in eine...
31.01.2011
Eine Website von einem Server auf einen anderen umzuziehen ist nicht einfach, deutlich schwieriger wird das ganze aber nochmal wenn die Website ein Shop ist. Da ich schon einige Magento Shops umgezogen haben, wollte ich meine Vorgehensweise vorstellen und die typischen Probleme bei einem Magento Umzug mit der entsprechenden Lösung auflisten. Bewährte Vorgehensweise Shopsystem auf dem Server zu einer .zip Datei zusammenfassen Die meisten Magento Shops dürften auf Managed-Servern oder Root-Servern laufen. Sowohl auf Root als auch auf Managed Servern sollte man die Möglichkeit haben den Shop zu zippen. Da Magento aus extrem vielen kleinen Dateien besteht, dauert der Transfer der Dateien ohne das zippen unnötig lange. Datenbank mit phpMyAdmin exportieren Beim Export der Datenbank sollte man darauf achten, dass die Option Fremdschlüsselüberprüfung deaktivieren aktiviert ist. Da Magento, wie alle größeren Shop Systeme, in der Datenbankstruktur viele Foreign Keys verwendet, kann es sonst zu Problemen beim Import führen. Am Ende der exportierten Datei wird die Fremdschlüsselüberprüfung von phpMyAdmin automatisch wieder aktiviert. Datenbank und Magento auf den neuen Server hochladen Die Datenbank kann man im komprimierten Zustand auch per FTP Client hochladen. Magento selbst sollte, um Zeit zu sparen, direkt von dem alten Server auf neuen Server übertragen werden werden. Magento entpacken Die Datenbank mit mysqldump oder bigdump einlesen. Datenbank Zugangsdaten ändern Falls sich die Datenbank Zugangsdaten auf dem neuen Server geändert haben, muss man diese in der Datei /app/etc/local.xml auch anpassen. In der Datenbank müssen anschließend noch zwei Werte modifiziert werden. Beide Einträge befinden sich in der Tabelle core_config_data. Der erste Eintrag ist web/unsecure/base_url, welcher die neue URL des Shops bekommen sollte. Der zweite Eintrag ist web/secure/base_url, welcher die...
14.01.2011
In den letzten Tagen macht Magento vor allem Schlagzeilen durch das neue Produkt Magento Stratus. Dabei handelt es sich um eine sehr gut Skalierbare Magento Mietlösung. Das bedeutet, dass der Shop von der Firma hinter Magento für einen monatlichen Obulus gehostet und geupdatet wird. Obwohl die Software gehostet wird, soll sie ähnlich flexibel und anpassbar wie eine eigene Installation sein. Die Realität sieht dann aber immer etwas anders aus, als die Ankündigungen der Hersteller. So haben die ersten Tester die Anpassungsfähigkeiten als sehr fehlerbehaftet bezeichnet. Speziell im Vergleich mit den großen Shop-SaaS Anbietern wie Demandware und Venda kann Magento Stratus wohl nicht mithalten, obwohl sich eine eigene Magento Installation hinter den Mietshops keinesfalls verstecken muss. Da ich bisher leider noch keinen Beta Account für Magento Stratus erhalten habe, muss ich mich allerdings derzeit noch auf die Berichte von anderen Beta Testern verlassen. Weitere Informationen zu Magento Stratus gibt es bei Alexander Ringsdorff und Magethemes.com. Magento Entwicklungen in 2011 Die größte Neuerung in 2011 dürfte wohl das Erscheinen der Version 1.5 von Magento sein. Seit Dezember 2010 steht bereits die erste Alpha Version von Magento 1.5 zum Download bereit, welche allerdings noch einige Bugs vorweist. In Magento 1.5 wurden unter anderem folgende Features integriert: Editieren von fertigen Bestellungen Multistep Checkout ohne Javascript konfigurierbarer Order-Status verbesserte Importfunktionalität Zusätzlich wurden noch einige Bugs gefixt. Trotzdem werde ich hier das Gefühl nicht los, dass die Entwickler mit dem 1.* Zweig schon gedanklich abgeschlossen haben und sich bereits voll auf den 2.* Zweig fokusieren. Eine kurze Zusammenfassung mit Bildern über die neue Funktionen findet man auch hier und...