Privates Blog von Christian Münch

Eine bessere Übersicht bei Magento Katalog-Preisregeln

Inspiriert von Fabrizios Verbesserungen bei der Webseite/Store/Store-View Darstellung (http://www.fabrizio-branca.de/magento-website-store-groups-store-views.html) kam mir die unübersichtliche Auflistung von Katalog-Preisregeln in den Sinn. Von Fabrizios Entusiasmus angesteckt habe ich mich nun hingesetzt und ein Magento Modul entwickelt. Das Modul tauscht das Grid unter “Promotions -> Catalog Price Rules” aus und entfernt den Pager. Es werden nun alle Regeln auf einer Seite angezeigt. Ebenso habe ich die einfache Auflistung durch eine Gruppierung nach Webseiten geändert. Wird eine Regel auf mehr als einer Webseite verwendet, wird die Regel bei jeder zugeordneten Webseite aufgelistet.

DevOp: Puppet zum installieren von jsmin

Hier mein puppet jsmin.pp, welches jsmin für die Kommandozeile unter Ubuntu installiert: class dev-tools::jsmin { exec { "download-js-min": unless => "/usr/bin/test -d /usr/local/src/JSMin", cwd => "/usr/local/src", command => "/usr/bin/git clone https://github.com/douglascrockford/JSMin.git" } exec { "compile-js-min": cwd => "/usr/local/src/JSMin", command => "/usr/bin/gcc -o jsmin jsmin.c", creates => "/usr/bin/src/JSMin/jsmin", require => Exec["download-js-min"] } file { "/usr/local/bin/jsmin": ensure => "/usr/local/src/JSMin/jsmin", require => Exec["compile-js-min"] } }

DevOp: Puppet zum installieren von PHPStorm

Puppet zum installieren von PHPStorm: class dev-tools::phpstorm ($version = "3.0", $revision = "111.19", $eap = false) { exec { "download-phpstorm": unless => "/usr/bin/test -d /opt/PhpStorm-${revision}", cwd => "/tmp", command => $eap ? { true => "/usr/bin/wget http://download.jetbrains.com/webide/PhpStorm-EAP-${revision}.tar.gz", false => "/usr/bin/wget http://download.jetbrains.com/webide/PhpStorm-${revision}.tar.gz", }, creates => "/tmp/PhpStorm-${version}.tar.gz" } exec { "untar-phpstorm": cwd => "/opt", command => $eap ? { true => "/bin/tar xvfz /tmp/PhpStorm-EAP-${revision}.tar.gz", false => "/bin/tar xvfz /tmp/PhpStorm-${revision}.tar.gz", }, creates => "/opt/PhpStorm-${revision}", require => [Exec["download-phpstorm"]] } file { "/opt/PhpStorm-${revision}/bin/phpstorm.

Eigene Tools in PHPStorm einbinden / Magento Cache über IDE leeren

Ich als Magento Entwickler bin das ständige Cache leeren bereits gewohnt und habe mir für meine Linux Workstation ein Bash-Alias “clear-magento-cache” angelegt. alias clear-magento-cache="rm -Rf var/cache/mage--\*" Den Befehl rufe ich dann immer in einem geöffneten Terminal Fenster auf. Wie ihr seht muss ich hierfür aber meine IDE verlassen. Besser wäre es man könnte direkt einen Button in der IDE klicken. Da ich seit einiger Zeit PHPStorm kennenlerne (man entdeckt jeden Tag etwas neues) dachte ich mir ich schaue mal was die IDE hier bereithält.

Magento 2.0 Entwicklungsversion - Ein erster Einblick

Magento hat die Entwicklungsversion des 2.0 Branch in einem öffentlichen SVN Repository auf dem Server bereitgestellt. Um einen Blick auf die Entwicklung zu werfen kann man sich den Code einfach unter der URL http://mage2.magentocommerce.com/svn/public/ auschecken und einmal reinschauen. Ein Blick unter die Haube lohnt sich. Wer Angst hatte, dass sich mit Version 2 alles ändert, der kann an dieser Stelle beruhigt sein. Es ist nicht alles neu Designt worden. Man fühlt sich direkt heimisch und findet seine Klassen.

404 Fehler nach Login in Magento Adminbereich

Wer die URL seines Magento Adminbereichs umgestellt hat sollte den Patch meines Arbeitskollegen Christian Kapitzke in die .htaccess Datei direkt unter der Rewrite Base einfügen. Dann klappt der Login wieder ohne Redirect. Der Fehler tritt nicht mehr in der Magento 1.11 EE oder der 1.6 CE auf. Patch gibt es bei github unter https://gist.github.com/1206043

Erfahrungen mit den Magento Enterprise Edition 1.9 Updates

Diese letzten zwei Wochen hatte ich das “Vergnügen” zwei Magento Shops auf die Version 1.9 der Enterprise Edition zu hieven. Ich möchte hier einige Erfahrungen zusammenfassen. Die neue Version enthält nicht mehr den mit in Version 1.8 eingeführten verschlüsselten Code. Es muss also kein IonCube Encoder Modul mehr auf allen Plattformen installiert werden. Man hat also bei Varien (oder wie es neuerdings heißt Magento Inc.) festgestellt, dass der eingeschlagene Weg schlecht war und die Entwickler und Administratioren einfach nur genervt hatte.

D-Bus unter PHP nutzen

Cover Image
Das unter Linux benutzte D-Bus System wird meistens via Python angesteuert. Man kann D-Bus allerdings auch mit PHP über die PECL Extension “dbus” nutzen. Im folgenden Artikel beschreibe ich kurz wie man mit PHP das Notizprogramm Tomboy ansteuern kann und alle Notizen auslesen kann. DBus für PHP installieren Zum Starten muss zuerst über den PECL Installer das PHP Modul installiert werden. Ich nutze das aktuelle Ubuntu Linux 10.04 mit installiertem PHP.

Memory Limit in Zend Studio 7.1.1 für Debugger/Profiler erhöhen

Beim Debuggen / Profile mit ZendStudio gerät man schnell an Grenzen. Zum Beispiel wenn man die Kategorieseite des Magento Shops profiled. Wer hier auch Probleme hat und ein wenig RAM im Rechner für PHP bereitstellen kann sollte die php.ini des Debuggers anpassen. Diese findet Ihr im Verzeichnis “./plugins/org.zend.php.debug.debugger.linux.x86_64_5.3.7.v20091116/resources/php5/php.ini” des Studio Installation (bei mir aktuelle Version 7.1.1). Dort einfach das memory_limit setzen. z.B. memory_limit=1024M Danach “kurz” das ZendStudio neu starten. Und schon sollte der der Debugger wieder debuggen.

Die Version 1.10.0 des Zend Frameworks vorgestellt

Der Reference Guide Das Handbuch hat ein komplett neues Kapitel bekommen das Anfängern den Einstieg erleichtern soll. Das Kapitel gibt praktische Tipps für den Umgang mit Basiskomponenten wie z.B. der View, Session oder zum Thema Authentifizierung. Alles ist mit kleinen Codebeispielen unterlegt. Hier gilt dem gesamten Zend Framework Team ein Dank. Das Kapitel eignet sich in Kombination mit dem Quick Start Tutorial um z.B. neue Mitarbeiter mit dem neuen Framework vertraut zu machen.