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 mehere 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 […]

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> […]

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 Datein […]

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 […]

n98-magerun – Magento über die Konsole managen

Wer viel mit Magento arbeitet wird sicherlich die mit Magento im shell Verzeichnis ausgelieferten praktischen Scripte kennen. Damit lässt sich schnell und stabil (im Vergleich zum Web-Frontend) ein Index neu erstellen. Also Entwickler kann man auch selbt Scripte auf Basis der Klasse Mage_Shell_Abstract mit seinem Modul ausliefern. n98-magerun soll diese Scripte die mit Magento deployed […]

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«!

Flat Index für einen einzelnen Store-View neu erstellen

Wer viele Magento Store-Views angelegt hat und „mal eben“ einen Index neu erstellen muss, muss unter umstände (bei vielen Produkten im Katalog) recht lange warten. Hier wäre es toll, wenn man nur einen einzelnen Store-View-Index gezielt neu erstellen könnte. Einen Anfang haben ich für den Flat-Catalog-Index gemacht: <?php require_once ‚app/Mage.php‘; Mage::app(‚admin‘); $indexer = Mage::getSingleton(‚catalog/product_flat_indexer‘); $indexer->rebuild(22); […]

Speichern von mehreren Objekten über eine Transaktion

<?php // $foo = Mage::getModel(‚….. // $bar = Mage::getModel(‚….. $transaction = Mage::getModel(‚core/resource_transaction‘); $transaction->addObject($foo); $transaction->addObject($bar); $transaction->save(); // runs save on all objects. On error -> rollback Magento nutzt das core/resource_transaction Model selbst bei Speichern einer Order während des Checkouts. Es kann aber auch im eigenen Modul nützlich sein.

Magento DB resourcen / connections auflisten

<?php require_once ‚app/Mage.php‘; Mage::app(); $xml = Mage::app()->getConfig()->getNode(‚global/resources‘); foreach ($xml->children() as $node) { echo $node->getName() . PHP_EOL; } Es wird dann eine Liste der definierten DB-Resourcen aufgelistet: default_setup default_write default_read core_setup core_write core_read db eav_setup admin_setup adminnotification_setup cron_setup directory_setup dataflow_setup cms_setup index_setup customer_setup catalog_setup catalogrule_setup ….