Gerade getestet und für gut befunden. PhpStorm kann ohne fremde Hilfe nicht einfach für jedes Framework Fabrikmethoden auswerten.
Bei Magento sind das z.B. Funktionen wie Mage::getModel('catalog/product') die im Hinterund die Klasse anhand einer XML Struktur ermitteln.
Seit dem letzten Build (129.196) kann man nun selbst über ein alleinstehendes PHP Script die Auflösung in die Hand nehmen.
Das sieht dann z.B. so aus:
namespace PHPSTORM_META { /** @noinspection PhpUnusedLocalVariableInspection */ /** @noinspection PhpIllegalArrayKeyTypeInspection */ $STATIC_METHOD_TYPES = [ \Mage::helper('') => [ 'core/string' instanceof \Mage_Core_Helper_String, ], \Mage::getSingleton('') => [ 'core/resource' instanceof \Mage_Core_Model_Resource, ], \Mage::getModel('') => [ 'catalog/product' instanceof \Mage_Catalog_Model_Product, 'rating/rating' instanceof \Mage_Rating_Model_Rating, ], ]; } Empfohlen wird die Datei .
Privates Blog von Christian Münch
Gitosis über Web und CLI administrieren
Wer nicht so viel Geld ausgeben will, kann auf eine der vielen GIT Verwaltungstools zurückgreifen. Sehr beliebt sind hier gitolite oder gitosis Letzteres setzen wir bei netz98 seit Jahren erfolgreich ein.
Leider bietet gitosis z.B. keine Weboberfläche zur Administration an. Das ist erst mal nicht weiter schlimm, wenn man nur wenige Repositories verwaltet. Doch mit wachsender Anzahl verliert man schnell die Übersicht. Das kann auch unter Umständen zu Sicherheitslücken führen. Verlässt ein Mitarbeiter das Unternehmen sollte man auch die Berechtigungen in den einzelnen Gruppen entziehen.
n98-magerun - Magento Rewrite Konflikte mit Jenkins testen
[Seit kurzem gibt es in n98-magerun die Möglichkeit einen Shop auf Rewrite Konflikte zu prüfen. Das Tool schaut nach ob mehrere Module versuchen eine Klasse zu rewriten. Sollte dies der Falls sein, wird über die PHP Reflection API zusätzlich geprüft ob die letzte Klasse der Rewrite-Kette von der vorherige erbt. Sollten zum Beispiel mehr als zwei Klassen den gleichen Rewrite definieren, wird über die gesamte Kette geprüft. Durch diese Prüfung möchte ich verhindern, dass es “False-Positives” gibt da der eine oder andere Entwickler vielleicht durchaus den Konflikt durch eine Vererbung behoben hat.
Ogg Video in mpeg4 konvertieren
Damit ich es nicht vergesse…
ffmpeg -i <file.ogv> -vcodec mpeg4 -sameq -acodec libmp3lame <file.avi>
Lesbare Handles für die Magento Layout-XML
Manchmal möchte man in einem Layout-XML spezielle Anpassungen für bestimmte Kategorien, Produkte oder CMS Seiten durchführen.
Dafür stellt Magento mehrere Möglichkeiten bereit. So kann man in das “Layout Update” Feld direkt in der Maske zum Bearbeiten des Produkts XML Code eintragen. Das ganze wird dann direkt in der Datenbank gespeichert.
Wer aber z.B. die Änderungen gerne über eine XML Datei (Layout-XML) ausrollen möchte muss dann auf vordefinierte Handles wie z.B. PRODUCT_ zurückgreifen.
PhpStorm: Daten direkt aus Grid exportieren
Bei PhpStorm entdeckt man doch immer wieder tolle Funktionalitäten. Beim Arbeiten mit den DB-Tools ist mir aufgefallen, dass man die Daten im Grid super einfach in verschiedenen Formaten exportieren kann.
Einfach einen Bereich markieren und rechts klicken. Im Context-Menü “Copy Data as” auswählen und das Export-Format wählen.
Einen eigenen Magento Admin-Theme registrieren
Wer mal eben einen eigenen Admin-Theme (Skin) braucht um z.B. das Logo im Adminbereich auszutauschen oder etwas CSS anzupassen damit es besser zum CI des Kunden passt kann dies schnell in einem eigenen Modul über die config.xml oder über die globale local.xml durch eine einfachen Konfigurationseintrag machen.
<?xml version="1.0"?> <config> <stores> <admin> <design> <theme> <default>mytheme</default> </theme> </design> </admin> </stores> </config>
Mit tar schneller Dateien kopieren
Ich habe mir eine neue Festplatte gekauft und musste nun die Daten von Festplatte 1 auf Festplatte 2 übertragen. Ich wollte dies nicht mittels dd erledigen sondern direkt über das Filesystem kopieren. Also habe ich eben mal eine Linux Live-CD gebootet und mittels cp -a QUELLE ZIEL in den direkt gebooteten Dateisystem versucht meine Dateien zu kopieren. Allerdings hätte ich nicht mit solch einer Performance gerechnet. Auch rsync war nicht der Bringer.
Neues leiseres Gehäuse für meinen Arbeitsrechner
Irgendwie konnte ich das Barebone Gehäuse nicht mehr sehen und habe mir ein neues LC-Power Pro-917B (http://www.testberichte.de/p/lc-power-tests/pro-917b-titus-x-testbericht.html) gekauft. Teuer war das Gehäuse nicht wirklich, sieht aber trotzdem für den Preis Top aus. Jetzt habe ich endlich wieder mehr Platz. Im Barebone war das über die Jahre doch sehr fummelig. Und großartig auf Reisen ist der Rechner sowieso nicht gegangen. Ein weiteres Problem ist dann auch die Temperatur im Sommer gewesen da der Rechner (bisher ohne Klima) in meinem Zimmer unter dem Dach betrieben wurde.
Defekte Pakete unter Ubuntu/Debian auflisten und löschen
Auflisten dpkg --list | grep ^rc Löschen sudo dpkg --purge `dpkg --get-selections | awk '/deinstall/ {print $1}'` Danke an Frank Dietrich der diesen Befehl netterweise in der Debian Mailingliste veröffentlicht hatten.
http://www.mail-archive.com/debian-user-german@lists.debian.org/msg178082.html
Anmerkung: Wenn nichts defekt ist erscheint das folgende::
Optionen mit [*] geben viel aus - schicken Sie es durch »less« oder »more«!