Magento — самая мощная система управления интернет-магазинами, написанная на PHP. Magento — лидер в сегменте open source решений для электронной коммерции. Согласно статистики Alexa 26% сайтов из списка TOP 1 Million используют Magento. Широчайший набор функционала и беспрецедентная гибкость позволяют строить на базе Magento самые разнообразные и сложные решения для электронной коммерции.

Востребованность на рынке Magento-разработчиков высока как никогда: спрос значительно превышает предложение. Успешное окончание курса обучения на Magento-разработчика позволит влиться в ряды одних из наиболее желаемых и высокооплачиваемых специалистов.

Начало по мере формирования группы

Продолжительность курса: 2 месяца, 48 часов

Среда, Пятница: 19.00-21.00

Оплата ежемесячно

Записаться

Задача курса:

Дать слушателю фундаментальные знания о функционировании Magento e-commerce платформы: архитектура приложения, система конфигов, диспетчеризация запросов, работа с базой данных, модель данных EAV, система рендеринга, специфика построения админской части.

Требования к слушателям

Курс предназначен как для новичков, так и для тех, кто уже знаком с Magento и имеет опыт работы. При этом слушатель должен обладать определенным набором знаний для освоения материала:

  • слушатель должен быть знаком с разработкой в LAMP окружении;
  • необходимы знания HTML, XML, PHP 5.x;
  • понимание объектно-ориентированной парадигмы программирования;
  • знание MVC и других паттернов (singleton, adapter, различные fabric);
  • знание базовых принципов работы с базой данных MySql, построение запросов;
  • знакомство с Zend приветствуется;
  • опыт работы PHP-разработчиком приветствуется.

Программа курса:

Обзор функционала

  • каталог — обзор встроенных типов продуктов, управление атрибутами продуктов, атрибут-сеты, управление категориями продуктов, добавление продукта, фильтры в категории на фронте;
  • заказ товаров — добавление в корзину, 6 шагов чекаута, управление методами доставки и оплаты;
  • мультиязычность, мультисайтовость — как это устроено, управление сайтам и языками, что дает и как это можно использовать, уровни настроек Magento, мультиязычность для данных продукта, категории.

Структура Magento

  • структура директорий — организация основных файлов, библиотечный код, соглашение о расположении модулей, где лежит кеш, структура темы;
  • модульная архитектура — преимущества и особенности в Magento, зависимости между модулями, приоритет загрузки модулей, что такое код-пулы и неймспейсы;
  • компоненты модуля — состав модуля, обязанности компонентов: контроллеры, модели, блоки, хелперы; что такое декларация модуля, соглашение по расположению админских контроллеров и блоков;
  • код стайл — обзор соглашения по именованию классов и форматированию кода.

Конфигурация

  • структура конфигов — виды конфигов, что в них хранится, синтаксис, связь с базой данных;
  • фабрика объектов — инстанциирование объектов (моделей, блоков, хелперов) с помощью фабрики, что это дает, как инстанциировать синглтон в Magento;
  • перекрытие классов — как расширить базовую функциональность (модели, блоки, хелперы), роль конфига, разрешение коллизий при многократном перекрытии одного класса;
  • перекрытие контроллеров — как расширить/изменить базовый контроллер, роль конфига, контроллеры и автолоадер.

Запуск приложения

  • Mage.php — обзор обязанностей основного класса Magento: реестр, фабрика, события, логирование, инициализация и запуск приложения;
  • автолоадер — реализация в Magento, приоритет следования директорий при поиске классов, еще один вариант перекрытия классов;
  • инициализация — отличие запуска от инициализации, девелопер мод (developer mode), загрузка конфигов и их порядок, какие бывают области (area) и их роль, коды запуска Magento, как реализовать мультидоменность;
  • диспетчеризация запроса — как это происходит в Magento (полный путь от запуска приложения до формирования ответа), построение URL в Magento, фронт-контроллер, action-контроллеры, роутинг, перенаправление запросов между контроллерами с помощью конфига, отличие форварда от редиректа, авторизация пользователей;
  • система событий — реализация в Magento, какие возможности открывает использование событий, какие проблемы создает, области действия событий (общие события, события фронтенда, админки, крона), конфигурирование событий, предопределенные события в Magento, полный путь от вызова события до срабатывания подписанных на него обсерверов.

 

Объектная модель

  • Varien_Object — роль этого класса в Magento, обзор обязанностей и возможностей: хранение данных, варианты доступа к этим данным, представление данных в различных форматах;
  • модели — два уровня объектной модели: модели бизнес-логики и ресурс-модели; обзор функциональности базового класса моделей бизнес-логики, Load-Save-Delete вместо Create-Read-Update-Delete, инициализация моделей;
  • ресурс-модели — обзор функциональности базового класса ресурс-моделей, инициализация ресурс-моделей, связь с моделями бизнес-логики;
  • работа с базой данных — полный путь загрузки, сохранения и удаления моделей от вызова соответствующих методов до выполнения запроса; построение запросов в ресурс-моделях;
  • инсталл/апгрейд-скрипты — версионность модулей в Magento, место хранения номеров актуальных версий всех модулей в базе данных, условия установки и обновления модуля, setup-модели, содержимое инсталл/апгрейд-скриптов, синтаксис Data Definition Language(DDL) в Magento;
  • коллекции — обзор функциональности базовых коллекций всех уровней иерархии, связь коллекции с моделью и ресурс-моделью, инициализация коллекций, связь с базой данных, построение запроса.

EAV модель

  • концепция — описание принципа хранения различных наборов атрибутов сущностей отдельно от сущностей, преимущества и недостатки;
  • реализация в Magento — структура таблиц, связанных с EAV в базе данных; разнесение значений атрибутов по отдельным таблицам в зависимости от типа данных, хранение атрибутов продуктов, категорий, пользователей и их адресов; свойства атрибутов;
  • объектная модель — отличие от моделей, связанных с плоскими таблицами; обзор иерархии классов; полный путь загрузки, сохранения и удаления EAV моделей от вызова соответствующих методов до выполнения запроса, работа с EAV коллекциями.

 

Система рендеринга

  • структура — из каких компонентов состоит V в MVC Magento, особенности, роль каждого компонента;
  • темплейты — понятие fallback’а, приоритет следования тем при загрузке файла темплейта, как создать новую тему на основе базовой темы Magento, как использовать стороннюю тему в качестве базовой, код-стайл в темплейтах;
  • блоки — обзор функциональности базовых типов блоков, как рендерятся блоки;
  • лейауты — что такое хендл, связь хендлов с URL, синтаксис лейаутов, как подключить к модулю лейаут; обзор стандартных лейаутов, описывающих структуру страницы;
  • рендеринг — полный путь процесса загрузки лейаута, инстанциирования и рендеринга блоков;
  • мультиязычность — как использовать возможности мультиязычности; места, где могут содержаться тексты переводов, и их приоритет; правка текстов переводов на фронте.

Админская часть

  • общая архитектура — обзор структуры админки, особенность расположения админских блоков и контроллеров ранних версий модулей Magento и современный подход;
  • организация меню — конфигурирование меню с помощью xml, синтаксис, связь с ACL;
  • ACL — интерфейс разгранничения прав доступа для администраторов, конфигурирование ACL с помощью xml, синтаксис, использование ACL в коде;
  • конфигурация — обзор раздела System > Configuration, уровни (scope) настроек, построение раздела конфигурации с помощью xml, синтаксис;
  • гриды — обзор архитектуры виджета для построения гридов, подготовка данных для отображения, задание столбцов различных типов, добавление столбца собственного типа;
  • формы — обзор архитектуры виджета для построения форм, создание простой формы, создание сложной формы с табами, добавление в форму полей различных типов, добавление поля собственного типа.

Результат изучения курса

По окончании курса слушатель будет понимать терминологию и структуру Magento, обладать необходимыми знаниями и навыками для написания собственных модулей и создания темы с нуля, а именно:

  • написание конфига нового модуля;
  • расширение существующего функционала через перекрытие классов;
  • написание собственных/перекрытие существующих контроллеров;
  • написание инстал/апгрейд скриптов;
  • написание собственных моделей, оперирующих базой данных;
  • добавление обсерверов;
  • написание темплейтов;
  • работа с лейаутами;
  • добавление собственных гридов и форм в админской части.

Дополнительно к обучению Вы получаете:

Сертификат учебного центра

Отличникам рекомендательное письмо

Преподаватель:

borisenko

Александр Борисенко

Образование: Закончил Днепропетровский Национальный Университет им. О. Гончара по специальности Радиоэлектронные приборы, системы и комплексы (Защита информации).

Общий стаж работы PHP-разработчиком составляет более 7 лет, опыт работы с Magento e-commerce платформой более 4 лет.

Профессиональная деятельность: В настоящее время занимает должность Magento solutions architect / team lead в Sam Solutions Magento company. Является сертифицированным Magento-разработчиком.

В активе Александра — более 25 завершенных проектов на Magento, включая разработку глобальных решений на Magento Enterpise Edition для компаний с мировым именем. Имеет опыт работы в core team в компании Magento (с общим стажем более 2 лет),  опыт организации новаторской внутренней Magento Академии в компании Sam Solutions. Является одним из немногих уникальных преподавателей в Украине по Magento со стажем более 1,5 года. Принимает активное участие в Magento комьюнити Украина.