Fundamentals of Magento 1.x Development (On-Demand)

Learning Objectives

You will learn the Magento architecture, MVC and data models, how to work with Magento modules, and how to customize and extend Magento to ensure the best upgrade path for the websites you extend. Specifically, you will:

  • Understand basic Magento structure
  • Be familiar with terminology and core functionality
  • Be able to perform basic functions such as:
    • Set up new modules
    • Create new table in the database
    • Write an upgrade script
    • Set up new configuration variables
  • Be familiar with basic Magento customization techniques such as:
    • Overriding classes
    • Using observers
    • Creating custom controllers
    • Overriding controller/action
    • Basic operations with layouts
    • Basic skinning operations

Prerequisites

You must be familiar with developing in a LAMP environment and have a basic understanding of Unix-based systems. Students must have a working knowledge of HTML, CSS, XML, PHP 5.0+ and object-oriented programming techniques. Familiarity with MVC and Zend Framework is strongly recommended but not required. You should have at least 2 years of PHP experience and understand the basic principles of database operations (e.g., foreign keys, difference between engines, query and schema optimization).

Course Description

This course will introduce the new Magento developer to the Magento architecture. You will learn how Magento leverages MVC, Zend Framework and Object-oriented programming. In this course, you will go through the process of Magento Rendering, Request Flow, Adminhtml, Database and EAV. The course is comprised of lecture and lab. You will receive course handouts and lab materials, and will have access to Magento Enterprise Edition source code during the class. Bring your own laptop for course exercises and labs.

Instructor-led course based on Magento Enterprise Edition v1.14 and On-Demand course based on Magento Enterprise Edition v1.13.

Course Outline

1. Basics
  • General OOP and MVC concepts
  • Event-driven architecture
  • Magento module-based architecture
  • Magento directory structure/naming conventions/code pools/namespaces/module structure
  • Configuration XML
  • Factory and functional class groups
  • Class overrides
  • Event observer
2. Request Flow
  • Application initialization
  • Front controller
  • URL rewrites
  • Request routing
  • Modules initialization
  • Design and layout initialization
  • Structure of block templates
  • Flushing data (output)
3. Rendering
  • Template structure
  • Blocks
  • Design layout SML schema, CMS content directives
4. Working with Database in Magento
  • Models resource and collections
  • Magento Object Relational Mapping
  • Write, install and upgrade scripts using set up resources
5. Entity-Attribute-Value model
  • Model concepts
  • EAV entity
  • Load and Save
  • Attributes management
6. AdminHTML
  • Common structure/architecture
  • Form and Grid Widgets
  • System configuration XML and configuration scope
  • ACL (permissions)
  • Enabling and configuring extensions