Magento lässt sich auf mehrere Arten mit mobilen Endgeräten verwenden. Neben der kostenpflichtigen Variante mit Magento-Mobile und dazugehörigen Apps gibt es ein kostenloses spezielles Template namens Interface_Frontend_Default_Iphone, welches sich über den Magento-Connect Manager installieren lässt.
Sobald man dieses Template installiert hat muss man Magento noch entsprechend konfigurieren. Dazu legt man wie gewohnt in Magento unter System->Stores verwalten eine neue Website mit den entsprechenden Store- und Storeview-Einträgen an. Als Code für diese Website verwenden wir z.B. “mobile”. Wenn man die mobile Version unter einer eigenen Domain verfügbar machen will muss man dazu natürlich noch unter System->Konfiguration->Allgemein->Web die URLs für “Gesichert” und “Ungesichert” entsprechend anpassen.
Damit Magento jetzt die mobile Version anzeigen kann setzen wir noch einige Einträge in der .htaccess-Datei unseres Shops. Hierfür benötigen wir das Apache-Modul mod_setenv, welches aber in den meisten Konfigurationen bereits enthalten sein sollte. Welche Website oder welcher Store von Magento anzeigt wird dabei über zwei Environment-Variablen und den in der Store-Konfiguration verwendeten Codes gesteuert. Zum einen ist MAGE_RUN_TYPE für die Art der Interpretation des Codes zuständig. Hier können entweder “store” – die Standardeinstellung – oder “website” verwendet werden. Für unser Setup benötigen wir den Wert “website”. Zum anderen müssen wir Magento jetzt noch mitteilen, unter welchen Umständen welcher Code zu verwenden ist. Dazu verwenden wir die Apache-Direktive SetEnvIfNoCase, mit der wir den Wert für MAGE_RUN_CODE zuweisen. Hierüber legen wir fest, das mobile Browser auf die mobile Webseite, bzw. – sofern vorhanden – der Aufruf der Domain für die mobile Version auf eben diese verweist.
Der vollständige Eintrag in der .htaccess-Datei sieht somit folgendermaßen aus:
SetEnv MAGE_RUN_TYPE website
SetEnvIfNoCase User-Agent (Android|iPhone|Blackberry) MAGE_RUN_CODE=mobile
SetEnvIfNoCase Host ^m\.example\.com$ MAGE_RUN_CODE=mobile
Jetzt wird dem Benutzer bei der Verwendung eines mobilen Browsers oder über die explizite Eingabe des URL m.example.com die mobile Website ausgeliefert. Sofern man weitere mobile Browser unterstützen möchte muss man die entsprechenden Einträge noch zu dem regulären Ausdruck für den User-Agent hinzufügen. Ich habe hier der Übersichtlichkeit halber nur die drei gängigsten Plattformen verwendet.

This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.