Magento Articles for Professional Developers

A growing list of articles plumbing the depths of the enigmatic, and increasingly dominant, Magento eCommerce System.

Like these articles? Then you’ll love Commerce Bug, the must have debugging extension for anyone using Magento. Whether you’re just starting out or you’re a seasoned pro, Commerce Bug will save you and your team hours everyday. Grab a copy and start working with Magento instead of against it.

Learning Magento with Commerce Bug

An extended manual for Commerce Bug, covering specific debugging techniques while explaining core parts of the Magento system.

  1. Understanding Magento Requests With Commerce Bug

  2. Finding a Block’s Name in Magento

  3. Creating a New Magento Customer Page

N98-Magerun

A “flash” Magento Quickies series on the powerful N98-Magerun command line tool.

  1. Introduction to n98-magerun

  2. Top Level n98-magerun Commands

  3. N98-magerun: Admin and Cache Commands

  4. N98-Magerun: Config Commands

  5. N98-magerun: Customer Commands

  6. N98-magerun: Development Toggle Commands

  7. N98-magerun: Development Commands Part 2

  8. N98-magerun: System Commands

  9. N98-magerun: Indexing, Magento Connect, and Grab Bag

  10. N98-magerun: Database Commands

  11. N98-magerun: Development Environment

  12. N98-magerun: Creating Hello World

Magento for PHP MVC Developers

This was the original series of articles I wrote on the functionality I thought a PHP developer coming to Magento would want to know about. While some of the details have changed (these were the CE 1.3/CE 1.4 days), working through these articles is still the best way to come up to speed on the system.

  1. The Magento Config

  2. Magento Controller Dispatch and Hello World

  3. Layouts, Blocks and Templates and Addendum

  4. Magento Models and ORM Basics

  5. Magento Setup Resources

  6. Magento Advanced ORM: Entity Attribute Value; Part 1

  7. Custom Magento System Configuration

  8. In Depth Magento System Configuration

  9. Varien Data Collections

  10. Magento System Overrides and Upgradability

  11. Magento Default System Configuration Values

Magento Pulse Storm Launcher

This series covers posts related to the Magento Pulse Storm Launcher, the new free and open source extension from Pulse Storm LLC.

  1. Fast and Painless Magento Admin Navigation

  2. Building the Pulse Storm Launcher: Menu Data

Magento Javascript Code

  1. Magento Javascript Events

The Magento API

Articles diving deeply into an often used, but little understood Magento system.

  1. Scrubbing Bubbles for Magento’s SOAP

  2. The Magento API

  3. Magento API Adapters and Handlers

  4. Magento API SOAP Adapaters and Handlers

  5. Introducing the Mercury API

  6. Debugging Magento API Method Calls

  7. Magento’s SOAP V2 Adapater

  8. Magento’s WS-I Compliant API

The Magento Config, Revisited

  1. The Magento Config, Revisited; Loading the Base Config

  2. Loading Installed Modules and Module Config

  3. Loading System Variables

  4. A Critique and Caching

Posts Inspired by Magento Imagine

A short series spawed by my participation in Magento’s 2011 Imagine conference.

  1. Widgets at Magento Imagine Unconference

  2. Magento 1.5.0.1 Security Fix

Developing The Magento Admin Console

I began this series wanting to get in-depth into the Magento Admin Console, but I severely underestimated how what in-depth would mean here. I’m still struggling with the best way to present Admin Console development that’s useful to both newbies and experienced developers. Still, these articles contain useful information that might help you through a specific problem, or give you a jumping off point for your own research.

  1. Magento Admin Hello World

  2. Magento Access Control Lists

  3. Validating System Configuration Values

  4. Magento Admin Hello World Revisited

In Depth Magento Dispatch

An incredibly deep dive on how Magento handles URL routing. This series started because I wanted to write a quick article on Magento URL rewrites, and it turned out you couldn’t teach people about rewrites without explaining their place in Magento’s routing system.

  1. Top Level Routers

  2. The Standard Router

  3. Stock Routers

  4. Request Rewrites

  5. Advanced Request Rewrites

Magento Projects

Project posts! Most of these cover modules I’ve uploaded to Magento Connect.

  1. Module List Module

  2. Magento Configuration Search

  3. Layout Unremove 1.0.1: Fix for Caching Bug

  4. An Unremove Tag for Magento Layout XML

  5. Reference for Magento Block Action Methods

  6. Django Routes with Magento and Simple Page

Pulse Storm Posts

Post about the software company I own and operate, and without which none of this would be possible.

  1. Pulse Storm GitHub and Station Identification

  2. New Book: No Frills Magento Layout

  3. Commerce Bug Announcement

  4. Commerce Bug 1.0.2 is Out

  5. Commerce Bug 1.1 and Supporting the Future

  6. Commerce Bug 1.2

  7. Commerce Bug 1.3 released

  8. Commerce Bug Tutorial: Access Control

Miscellaneous Magento Articles

The everything else bucket. Typically when I post a stand alone article it’ll end up here.

  1. Magento 2: Factory Pattern and Class Rewrites

  2. Magento’s Global Variable Design Patterns

  3. Welcome to Magento: Pre-Innovate

  4. Magento’s Many 404 Pages

  5. IE9 fix for Magento

  6. Generating Google Sitemaps in Magento

  7. Magento: Debugging with Varien_Object

  8. Magento Compiler Mode

  9. Magento Base Directories

  10. Magento Connect Role Directories

  11. Generated Magento Model Code

  12. Magento Configuration Lint

  13. Magento Front Controller

  14. Reinstalling Magento Modules

  15. Clearing the Magento Cache

  16. Magento’s Class Instantiation Abstraction and Autoload

  17. Magento Development Enviornment

  18. Logging Magento’s Controller Distpatch

  19. PHP Error Handling and Magento Developer Mode

  20. Magento Attribute Migration Generator

  21. StackExchange and the Year of the Site Builder

Modules used in the Magento for PHP MVC Developers Series

When I started writing Magento articles, I tried to post finished code for a particular module. I quickly found the thought of creating, and then testing these finished modules was sapping my motivation to write, so I stopped.