Kategorie-Archiv: Magento

Magento 2 unter Docker betreiben & Debugging in PhpStorm

Mit Magento 2 habe ich zur Zeit mehrere Probleme – zum einen habe ich bisher immer mit MAMP (4.x) gearbeitet, wodurch zwar alles einigermaßen läuft, aber sicher nicht optimal ist. Für meine Magento 2 Projekte möchte ich lieber

  • mit PHP 7 arbeiten statt mit PHP 5.6 – das könnte man zwar immer in MAMP umstellen, nervt aber ungemein und vergisst man eh ständig
  • mit nginx statt Apache arbeiten – das könnte man auch immer im MAMP umstellen, aber wer macht das schon
  • Debugging sollte weiter wie bisher mit phpStorm funktionieren
  • Es muss schnell für andere Kollegen aufzusetzen sein ohne großen Konfigurationsaufwand

Und genau dafür bin ich jetzt auch auf den Docker-Zug aufgesprungen. Mit Docker bekommt man all diese Probleme gelöst. Und endlich nutzt dann auch jeder im Team die gleichen Versionen von PHP etc.

Ich erhoffe mir, dass das ewige Suchen nach der fehlenden Konfigurationseinstellung einfach entfällt. Dass man Systeme mit einem Fingerschnipp aufsetzen kann, ohne dass man dafür viel Wissen braucht.

Außerdem ist Docker mittlerweile auf einem echt guten Stand auf dem Mac. Die VM muss man nun nicht mehr umständlich über VirtualBox verwalten, sondern läuft einwandfrei im Hintergrund und wird von der Applikation selbst verwaltet. Genau das war mir immer ein Dorn im Auge, da das Datensharing in die Container auch nicht besonders schnell war. Weiterlesen…

Magento2 Entwicklungsumgebung einrichten – PhpStorm + MAMP

So langsam kommt Magento 2 ja an den Start – auch wir haben mittlerweile den ersten Magento 2 Shop online und so kommt es natürlich, dass immer mehr und mehr Entwickler in den Prozess einbezogen werden und von anderen Entwicklern lernen. Jetzt ist es natürlich so, dass wir ganz am Anfang stehen und genau jetzt noch die Chance haben, von Anfang an alles richtig zu machen. Das ist natürlich nicht so einfach, aber besser jetzt, als am Ende wieder alle abzuholen.

Die Problematik ist, auf allen Systemen den gleichen Stand des Projektes herzustellen. Alle sollen mit dem gleichen Workflow, den gleichen Tools und mit dem gleichen Code-Style arbeiten. Im Idealfall laufen bei jedem Commit dann noch Tools wie phpcs, phpmd oder jshint über den Code und finden „Fehler“ der Entwickler bevor der Stand total kaputt geht und wieder jeder in seinem eigenen Code-Style programmiert. Ich mag das z.B. überhaupt nicht aber Magento liefert einiges schon von Anfang an mit – man muss es nur nutzen! Weiterlesen…

Magento Stammtisch Paderborn (29.04.)

Schon auf der Mage UnConference vor einigen Wochen habe ich mir von Damian, Dima und Benno anhören müssen, warum wir denn nie auf den Magento-Stammtischen in und um Paderborn anzutreffen sind. Eigentlich eine berechtigte Frage und es so wurde es wirklich Zeit das zu ändern. So war ich gestern auf meinem ersten Magento-Stammtisch. Eingeladen und organisiert wurde über XING.

Die Themen:

  • Einfach professionell Videos für Magento produzieren – Jens Neumann von ClipVilla
  • Case Study design-bestseller.de: Magentos Herausforderungen an das Katalogmanagement – Benno Lippert von mash2

Ich muss sagen, dass mich die Themen im ersten Moment nicht sonderlich begeistert haben – lag wohl auch daran, dass die Titel etwas anderes vermitteln, als es am Ende ist. Immerhin waren alle Plätze belegt (18-20 Teilnehmer) und ich habe wieder viele interessante Kontakt geknüpft. Weiterlesen…

Erster Screencast auf YouTube

Vor einiger Zeit hatte ich ja bereits über meine Extension „Magento Language Routes“ berichtet. Wer das verpasst hat, klickt einfach hier. Da ich schon seit zirka einem Jahr vor habe, endlich mal einen Screencast zu machen (und das ganze Equipment hier so ungenutzt rumsteht), habe ich es nun endlich mal geschafft. Am Anfang ist es gar nicht so einfach und man braucht mehrere Wiederholen – aber dann bin ich erstaunlich schnell rein gekommen.

Man verzeihe mir meinen Schnupfen – ich hoffe, der geht bald weg, sodass ihr das in den nächsten Videos nicht mehr ertragen müsst! Ansonsten würde ich mich natürlich über Feedback freuen und bin für Themenwünsche offen. Sprachlich könnt ihr Euch dabei wünschen, ob es weiterhin in Englisch bleibt, oder ob ich auf Deutsch wechseln soll.

Der Webguys-Adventskalender – auch dieses Jahr wieder

Auch dieses Jahr bin ich wieder ein Teil des webguys-Adventskalenders. Das Blog zählt zu den größten Deutschen Magento-Blogs und in der Vorweihnachtszeit berichten viele bekannte Namen der Magento-Community. Dieses Jahr sind sogar mehr englische Beiträge dabei und so wird das Blog etwas internationaler.

Die Beiträge sind dabei nicht unbedingt nur für Entwickler interessant. Es gibt auch viele Tipps rund um Extensions und Tricks in Sachen Administration und Verwaltung. Also auch für Shop-Betreiber interessant.

Ich bin übermorgen (am 06.12.) dran. Mein Thema wird natürlich noch nicht verraten. Ich habe allerdings ein wenig weiter ausgeholt, und so sind ganze 1338 Wörter geworden (ein Wort weniger wär cooler…).

Über twitter bleibt man am einfachsten auf dem Laufenden – oder noch besser: per Feed-Reader.

Magento: URLs übersetzbar machen – neue Extension

Schon sehr lange wollte ich eine Extension schreiben, mit welcher sich URLs übersetzen lassen. Irgendwie sieht es ja nicht besonders schön aus, wenn in der URL eines Deutschen Shops z.B. „customer/account/register“ steht, oder?

Dies alles ist nun umgesetzt. Und das beste: Man kann die URLs im Backend selbst pflegen. Das ganze ist dabei total generisch – man kann also wirklich alles übersetzen. Die alten URLs funktionieren dabei aber immer noch genauso.

Die Erweiterung habe ich auf GitHub gestellt.

Generell funktioniert das Ganze so:

  • Es wird ein weiterer Router hinzugefügt, welcher vom Standard-Router erbt
  • Bevor im match die URL geparst wird, wird diese zerlegt, übersetzt und ausgetauscht
  • Damit auch sonst im Shop überall übersetzte Adressen stehen, wurde das URL-Model überschrieben
  • Hier werden die URLs dann entsprechend modifiziert
  • Damit alles schneller geht, wird der Magento-Cache genutzt
  • Zur Sicherheit werden nur URLs übersetzt, welche kein „.html“ enthalten (andernfalls könnte es Probleme mit dem rewrite geben)
  • Das Ganze funktioniert sogar für CMS-Seiten, da der Request im Router manipuliert wird
  • Man kann für jeden Store eine andere Übersetzung speichern

In Zukunft sind noch ein paar Punkte vorgesehen:

  • Einfacher URLs übersetzen können (eventuell, wenn die Inline-Übersetzung aktiviert wurde?)
  • Es ist schon vorbereitet, dass man im Backend Vorschläge bekommt, was alles übersetzt werden kann
  • Basis-Übersetzungen für Deutschland
  • Fallback auf CSV (momentan nur Datenbank)
  • Für mehrere Stores eine Übersetzung speichern
  • Übersetzungen aneinander binden – aktuell kann z.B. nur die Action „index“ übersetzt werden, in welchem Kontext ist dabei dann egal.
  • Dokumentation

Für Kritik, Anregungen und Wünsche bin ich natürlich immer offen.

Magento: Admin Notifications verstecken

In letzter Zeit häufen sich Anfragen von Kunden, welche durch die Notifications im Admin verwirrt werden. Eigentlich wollen sie nur Ihrem Tagesgeschäft nachgehen und müssen immer wieder irgendwelche Meldungen als gelesen markieren. Das ist natürlich wenig hilfreich, wenn diese nicht einmal etwas von den Meldungen haben – im Falls eines wichtigen Updates oder anderen Neuerungen sollte sich ja eh der Dienstleister / technische Ansprechpartner beim Kunden melden.

Nun gibt es natürlich immer mehrere Lösungen. Als erstes könnte man einfach die Ausgaben der Extension Mage_AdminNotification verstecken. Dies geht unter

System > Konfiguration > Erweitert

Das löst das Problem aber nur optisch – im Hintergrund werden weiterhin Informationen des entsprechenden Feeds geladen und in der Datenbank gespeichert. Wenn einen die Meldungen wirklich nicht interessieren, kann man aber auch getrost die Extension komplett deaktivieren. Am besten per local.xml, oder ein anderen xml-Datei im Verzeichnis app/etc – diese werden schließlich alle automatisch geladen.

Und schon ist man (oder der Kunde) die PopUp-Seuche los.