Magento: Fundamentals of Magento Development
Fundamentals of Magento Development
Essential development skills for implementing and customizing solutions on the Magento eCommerce platform
Target Audience
Developers who want to learn the architecture, terminology, and core functionality of Magento, along with best practices of extending the platform. This course is appropriate for both developers who are new to Magento, as well as those developers who are experienced with launching and extending the platform.
Prerequisites
Students 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. Students 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. The student will review how Magento leverages MVC, Zend Framework and Object-oriented programming. The course will take the student through the process of Magento Rendering, Request Flow, Adminhtml, Database and EAV. The course is lecture-lab format with extended hands-on exercises on Magento EE.
Course Outline
- 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
- Request Flow
- Application initialization
- Front controller
- URL rewrites
- Request routing
- Modules initialization
- Design and layout initialization
- Structure of block templates
- Flushing data (output)
- Rendering
- Template structure
- Blocks
- Design layout SML schema, CMS content directives
- Working with Database in Magento
- Models resource and collections
- Magento Object Relational Mapping
- Write, install and upgrade scripts using set up resources
- Entity-Attribute-Value model
- Model concepts
- EAV entity
- Load and Save
- Attributes management
- AdminHTML
- Common structure/architecture
- Form and Grid Widgets
- System configuration XML and configuration scope
- ACL (permissions)
- Enabling and configuring extensions
Learning Objectives
Students will leave the course understanding 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 they extend. Specifically, they 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
Methods & Materials
This course is comprised of lecture and lab. Each student receives course handouts and lab materials, and, during the course, will have access to Magento Enterprise Edition source code. Students should bring their own laptops for course exercises and labs.