4.05 out of 5
204 reviews on Udemy

Mastering Magento

Master Magento's modular framework, from installation to execution, with this detailed video course
Packt Publishing
1,708 students enrolled
English [Auto-generated]
Create custom Magento extensions
Learn how to add pages and reports to the Magento admin interface
Write extensions that enhance Magento's catalog functionality
Create custom product types
Integrate Magento with other systems using dataflow profiles
Extend Magento's one-page checkout and add your own steps to the checkout process
Write shell scripts that administer your Magento installation through the command line
Troubleshoot Magento code with advanced debugging tools and techniques
Track down Magento errors easily using Xdebug for PHP

Magento is the fastest growing open source e-commerce platform in the world. According to a survey of Alexa’s top one million sites in February 2013, Magento powers 26% of all e-commerce sites, and is three times more popular than other platforms in the survey. Now is the time to truly master the Magento platform, as the demand for Magento developers is on the rise.

Mastering Magento will help you take Magento’s core offerings to the next level. Even though you may find that Magento fits most of your e-commerce needs out-of-the-box, there are often circumstances that require custom functionality in your Magento store. The materials in this course will expose you to a variety of ways in which you can extend the Magento platform and bend it to your will. By the end of this course you will be capable of writing almost any type of extension in order to accomplish the custom functionality that you need.

You will start building your foundational knowledge of the Magento architecture by following along with a step-by-step installation guide. For those experienced with Magento, this will be more of a refresher. With these basic requirements under your belt, we will move on to module development, including how to customize the admin, catalog, and checkout interfaces.

As you delve deeper into setting up your development environment, you will learn about the basic structure and skeleton of a Magento module. Since Magento’s Model-View-Controller (MVC) structure is well-documented on the Internet, we will cover more advanced techniques rather quickly. By the time you’re through the first half of this course, you will have mastered the art of extending Magento’s admin interface. In the second half, you will learn how to extend the Magento catalog and checkout process by creating your own custom product types. As an example, you will be following along with the author in creating an event registration product type, similar to selling tickets online. Finally, we will close with some advanced techniques that will teach you how to leverage Magento’s command-line interface, dataflow profiles, and advanced debugging tools such as Xdebug for PHP.

Mastering Magento will give you great exposure to a variety of ways in which you can extend the Magento platform and truly leverage its power.

Installing Magento

Preparing Your Server for Magento

We're getting our system ready to run the most powerful open-source e-commerce system.

Installing the Magento Software

We need to place the Magento code on our server and run the wizard to set up the basic configuration parameters for our store.

Alternate Installation via the Command Line Prompt

Sometimes, installation needs to be automated, or perhaps the installation wizard is timing out. In most cases, a command-line prompt installation can solve these issues.

Setting Up Multiple Storefronts

Having multiple storefronts in Magento allows you to manage all of your orders and catalogs for multiple eCommerce domains in a single database and administrative interface.

Extending Magento

Setting Up Your Development Environment

The Magento codebase is massive, containing over 10,000 files. Using the right tools will allow you to quickly navigate the source code to truly harness the power of the Magento core.

Creating a Module

Modules allow you to totally customize Magento with your own functionality.

Creating a Frontend Controller

Frontend controllers allow you to add new URL patterns to your Magento storefront.

Creating Frontend Layouts

Layouts control the view of your Magento pages.

Creating Blocks and Templates

While layouts control the arrangement of an entire page, blocks and templates encapsulate different chunks of the rendered content

Extending the Admin

Adding a Menu Item in the Admin

Without the ability to add admin menu links, others will not be able to use your Magento extension.

Adding System Configuration Fields

Adding fields to the System Configuration is the easiest way to save information to the Magento database.

Creating Models

Model classes provide an interface for reading and writing from the Magento database.

Writing Module Installation Scripts

Often times, newer versions of your extensions may require a change to the database. Using module installation scripts, you can make changes to the Magento schema automatically.

Event-Handling and Observers

Observers allow you to inject your own business logic into the core of Magento.

Mastering the Admin

Building Forms

Creating a form in the Magento admin.

Processing Forms

Processing form data in your admin controllers.

Creating Grids

Rendering lists of model data in a grid or table view.

Editing Grid Items

Making your grids interactive so that you can edit each row.

Grid Mass Actions

Enabling mass actions on your grid so that you can delete multiple rows with a single click.

Exporting Grid Data

Using grid data to generate reports in the CSV and Excel formats.

Programming the Catalog

Creating Custom Product Types

Creating a custom product type in Magento.

Adding Custom Product Attributes

Adding attributes to your custom product type.

Advanced Product Editing

Adding your own tab to the product edit page in the Magento admin.

Saving Your Product

Setting up any necessary models to process data that is submitted on product save.

Frontend Product View

In order to sell the example product, we must modify the behavior of the product page.

Programming the Shopping Cart

Cart Item Behavior - Part 1

Our product needs to display the proper pricing when added to the cart. This video will show you which events to observe in order to add custom price logic.

Cart Item Behavior - Part 2

For our ticket sales product, we need to be able to sell multiple quantities. Luckily, Magento allows us to customize how product options are parsed when a product is added to the cart.

Controller Guest Checkout

If we want to force registration only for our product type, we will need to disable the guest checkout function by observing a Magento event.

Creating a Custom Payment Method

Magento supports a handful of payment types out of the box, but adding your own is simple.

Adding a Step in the Checkout Process

We want to collect information about each ticket being sold during checkout. In Magento, we can combine layout updates with custom blocks to add a step in the checkout process.

Processing Orders

Our checkout isn't fully functional until we process the form data that was added in the previous video.

Importing and Exporting Data

Introduction to the Dataflow

Since this is your first time with dataflow, we are going to start off with a quick tour.

Advanced Dataflow Profiles

Out of the box dataflow profiles work for importing customers or products, but if you're going to be working with other Magento entities, advanced profiles are a necessity.

Writing Your Own Adapter

Custom adapters allow you to plug in your own functionality to a dataflow profile.

Importing Orders

One of the entities that Magento doesn't provide an import profile for is orders. In this video, I will show you how to create a custom adapter for orders so that they can be imported into the system.

Advanced Techniques

Writing Shell Scripts

If you're a developer, you may find that Magento's web interface can slow you down. Luckily, we are able to write shell scripts using some Magento core functionality.

Bootstrapping Magento for External Applications

Sometimes, external programs need to access Magento data. This can be done in PHP by loading the correct sequence of Magento files.

Debugging with Xdebug - Part 1

When it comes down to it, things will break as you're developing your Magento extensions. A tool like Xdebug will allow you to step through your code line by line in real time.

Debugging with Xdebug - Part 2

Before you can use Xdebug properly, you need support for the Xdebug client in your editor.

Debugging with Xdebug - Part 3

Now that Xdebug is supported by your editor, you can pause the execution of your script and inspect variables as you proceed through the code line by line.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.1 out of 5
204 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


4 hours on-demand video
Full lifetime access
Access on mobile and TV
Certificate of Completion