Как создать простой модуль в Magento 2
В этом уроке мы создадим самый простой модуль в Magento 2. Это будет только каркас, который мы будем достраивать и развивать в дальнейших уроках.
Прежде чем мы начнем разработку простого модуля Magento 2, есть две вещи, о которых многие забывают:
- Отключить кеш Magento 2
Отключение кеша Magento 2 во время разработки поможет сэкономить время, потому что вам не нужно вручную очищать кеш каждый раз, когда вы вносите изменения в код.
Самый простой способ отключить кеш – перейти в Admin → System → Cache Management → выбрать все типы кеша и установить для них Disable.
Либо вы можете набрать в консоли следующую команду (как работать с консолью, вы можете посмотреть в этом уроке):
php bin/magento cache:disable
- Переведите Magento 2 в режим разработчика
Вы должны перевести Magento 2 в режим разработчика, что позволит вам видеть все ошибки во время разработки.
Для этого откройте консоль и из корня сайта выполните следующую команду:
php bin/magento deploy:mode:set developer
Создание каркаса для модуля в Magento 2
Если вы ранее работали с Magento версий 1.х, вы использовали среду разработки – core
, community
и local
, которые находились в папке app/code
. В Magento 2 больше нет такого понятия. Модули сгруппированы по пространству имен (Vendor) и помещены непосредственно в папку app/code
.
Поэтому наш первый шаг – создать папку модуля и необходимые файлы, которые нужны для регистрации модуля в платформе Magento 2.
- Создайте следующие папки:
app/code/Sebweo app/code/Sebweo/Helloworld
Папка Sebweo
– это пространство имен модулей (Vendor, т.е., производитель), а Helloworld
– это название самого модуля.
Примечание. Если у вас нет папки code
в папке app
, создайте ее вручную.
Чтобы создать самый простой модуль в Magento 2, нужны только два файла: module.xml
и registration.php
. Рассмотрим это дальше.
- Файл определения модуля – module.xml
Теперь, когда у нас есть папка с модулем, нам нужно создать файл module.xml
в папке app/code/Sebweo/Helloworld/etc
с таким содержимым:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="Vendor_ModuleName" setup_version="1.0.0"> <sequence> <module name="Magento_Catalog"/> </sequence> </module> </config>
- Замените Vendor на свое пространство имен, в нашем примере – это
Sebweo
. А ModuleName на название модуля, в нашем примере – этоHelloworld
. - Значение в ноде
setup_version
указывает на текущую версию модуля. Вы можете использовать любое цифровое значение. - Значение в ноде
sequence
не является обязательным элементом. Его используют, когда ваш модуль зависит от других модулей в системе. В нашем примере модуль зависит от модуляMagento_Catalog
.
- Файл регистрации модуля – registration.php
Чтобы зарегистрировать модуль в системе, создайте файл registration.php
в папке app/code/Sebweo/Helloworld
с таким содержимым:
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'Vendor_ModuleName', __DIR__ );
Замените Vendor на свое пространство имен, в нашем примере – это Sebweo
. А ModuleName на название модуля, в нашем примере – это Helloworld
.
- Очистка системы
Откройте консоль и из корня сайта с Magento 2 запустите следующую команду:
php bin/magento setup:upgrade
Если после этого вы откроете сайт в браузере и увидите, что слетели стили, тогда дополнительно выполните в консоли и такую команду:
php bin/magento setup:static-content:deploy
Если вы хотите убедиться, что ваш новый модуль был успешно установлен, вы можете открыть файл app/etc/config.php
и проверить, что в массиве есть ключ «Sebweo_Helloworld
», а значение для него должно быть установлено в 1
.
Также вы можете использовать следующую команду из консоли:
php bin/magento module:status
Эта команда покажет вам список всех модулей в системе.
Вот и все! Сегодня мы создали самый простой модуль для Magento 2. Он уже присутствует в системе, но пока ничего полезного не делает. В следующих уроках мы будем наполнять его полезным функционалом.
Последние посты
Как выбрать идеальный ноутбук: Полный гайд
Выбор ноутбука может быть сложной задачей в мире, где рынок переполнен вариантами на любой вкус… Читать далее
Томас Эдисон
Наша самая большая слабость заключается в том, что мы быстро сдаемся. Самый верный способ добиться… Читать далее
Самые красивые и впечатляющие мосты со всего мира (ТОП-10)
Мост — это нечто большее, чем просто сооружение, соединяющее два берега. Для того, чтобы появился… Читать далее
Соломон
Жизнь нас учит, что свою пару мы познаем, когда разводимся, своих братьев мы познаем, когда… Читать далее
Чак Паланик
Кто может — тот делает. Кто не может — тот критикует Чак Паланик Читать далее
Ричард Бах
Ни одно желание не дается тебе отдельно от силы, позволяющей его осуществить. Хотя, возможно, для… Читать далее