Teil 6 meiner Blog-Reihe auf integer-net.com über Framework-unabhängigen Code ist draußen: Leveraging PSR Interfaces.
Magento Extension: Estimated Delivery
Heute stelle ich eine kleine kommerzielle Magento 1.x Extension vor, an der ich mit meinem Team bei SGH gearbeitet habe:
SGH_EstimatedDelivery ($79.00)
Sie berechnet das voraussichtlicher Lieferdatum und zeigt dem Kunden wie viel Zeit übrig ist, um die Bestellung zu dem Datum zu bekommen. Diese Information kann im Warenkorb und auf Produktseiten angezeigt werden:
Continue reading “Magento Extension: Estimated Delivery”
Design Patterns für Framework-agnostische Extensions/Plugins – Autoloading
Teil 5 meiner Blog-Reihe auf integer-net.com über Framework-unabhängigen Code ist draußen: Using Advanced Autoloading. Dieser ist allerdings nur für die Anbindung von Legacy-Anwendungen relevant, die noch kein Composer-Autoloading nutzen (Magento 1).
Vorige Teile
Design Patterns für Framework-agnostische Extensions/Plugins – View Model
Teil 4 meiner Blog-Reihe auf integer-net.com über Framework-unabhängigen Code ist draußen: Preparing Data For Output
Vorige Teile
Design Patterns für Framework-agnostische Extensions/Plugins – Bridge
Teil 3 meiner Blog-Reihe auf integer-net.com über Framework-unabhängigen Code ist draußen: Building Bridges
Vorige Teile
Design Patterns für Framework-agnostische Extensions/Plugins – Dependency Injection
Teil 2 meiner Blog-Reihe auf integer-net.com über Framework-unabhängigen Code ist draußen: Using Dependency Injection
Vorige Teile
Design Patterns für Framework-agnostische Extensions/Plugins
Meine neue Artikelreihe auf integer-net.com stellt nützliche Design Patterns für entkoppelte Magento Extensions vor, die in zwei Teile geteilt sind: Das Magento Modul und eine Framework-unabhängige (Framework-agnostische) Bibliothek, die für Magento 1 und Magento 2 wiederverwendbar ist. Die selben Prinzipien sind natürlich auch für weitere Frameworks und Anwendungen anwendbar.
Sie wird nicht den Refactoring-Prozess von bestehenden Extensions hin zu diesem Modell behandeln, das ist ein anderes Thema, das ich beim Developers Paradise 2016 in Kroatien präsentieren werde. Bleibt dran!
Im ersten Teil geht es um den Zugriff auf Konfigurationsdaten mit Configuration Value Objects.
Weiterlesen auf integer-net.com → (Englisch)
EcomDev PHPUnit Tipp #13
Tipp #13: EAV Fixtures beschleunigen
Nutzt man die EAV Fixtures, um Produkte, Kategorien und Kunden für Tests anzulegen, macht der Fixture Processor von EcomDev_PHPUnit vor jedem Test ein Backup der jeweils bestehenden Tabellen und spielt es anschließend wieder zurück. Da die “magento_unit_tests” Test-Datenbank standardmäßig als Kopie der aktuellen Magento-Datenbank angelegt wird, kann das sehr viel unnötiger Overhead sein.
Die EAV-Tabellen in der Test-Datenbank einmalig zu bereinigen, kann Tests, die sonst mehrere Minuten laufen um ein vielfaches beschleunigen. Dazu löschen wir in der Test-DB alle Datensätze in den Main Tables (die verknüpften Attribute etec. werden über Trigger automatisch gelöscht), mit Ausnahme der Standard Root Kategorie:
delete from catalog_product_entity; delete from catalog_category_entity where entity_id > 2; delete from customer_entity;
Zufällige Produkte in Magento anzeigen
Leider ist der Eintrag nur auf Englisch verfügbar.
EcomDev PHPUnit Tipp #12
Tipp #12: Cache
Man kann Caches pro Test an- und abschalten, mit den folgenden Annotations:
/** * @test * @cache on all */ public function testWithCache() /** * @test * @cache off all */ public function testWithoutCache() /** * @test * @cache off all * @cache on layout * @cache on block_html */ public function testWithSomeCachesTurnedOn() /** * @test * @cache on all * @cache off translate * @cache off config */ public function testWithSomeCachesTurnedOff()
Die Annotations werden in der angegebenen Reihenfolge ausgeführt, wenn man also “all” benutzt, sollte es immer vor allen anderen @cache
Annotations stehen.