Categories: Мадженто 2

Как создать простой модуль в Magento 2

В этом уроке мы создадим самый простой модуль в Magento 2. Это будет только каркас, который мы будем достраивать и развивать в дальнейших уроках.

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

  1. Отключить кеш Magento 2

Отключение кеша Magento 2 во время разработки поможет сэкономить время, потому что вам не нужно вручную очищать кеш каждый раз, когда вы вносите изменения в код.

Самый простой способ отключить кеш – перейти в Admin → System → Cache Management → выбрать все типы кеша и установить для них Disable.

Либо вы можете набрать в консоли следующую команду (как работать с консолью, вы можете посмотреть в этом уроке):

php bin/magento cache:disable

  1. Переведите 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.

  1. Создайте следующие папки:
app/code/Sebweo
app/code/Sebweo/Helloworld

Папка Sebweo – это пространство имен модулей (Vendor, т.е., производитель), а Helloworld – это название самого модуля.

Примечание. Если у вас нет папки code в папке app, создайте ее вручную.

Чтобы создать самый простой модуль в Magento 2, нужны только два файла: module.xml и registration.php. Рассмотрим это дальше.

  1. Файл определения модуля – 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.

  1. Файл регистрации модуля – 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.

  1. Очистка системы

Откройте консоль и из корня сайта с 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. Он уже присутствует в системе, но пока ничего полезного не делает. В следующих уроках мы будем наполнять его полезным функционалом.

Tags: Magento2

Recent Posts

Инструкция по скачиванию видео с сервиса TikTok (бесплатно и без watermark)

Если вы еще не слышали о TikTok, тогда рекомендуем вам сначала ознакомиться с этим кратким… Read More

17/09/2020

Что есть в бюджетном ноутбуке – на какие характеристики рассчитывать?

Прошли те времена, когда приличный ноутбук стоил от 1000 долларов. Сегодня можно купить довольно неплохой… Read More

16/09/2020

Что лучше – цифровое телевидение Т2 или интернет-телевидение?

Современную жизнь невозможно представить без телевидения. Оно позволяет узнавать о событиях в Украине и мире,… Read More

02/09/2020

Гипоаллергенная подушка. Для чего она важна?

Сейчас найдется мало людей, у которых нет аллергии на продукты или пыльцу растений. Считается, что… Read More

28/08/2020

Футбольный Инстаграм: что нового у топовых футболистов

Некоторые известные футболисты тщательно скрывают свои личную жизнь, а другие - активно постят фотографии с… Read More

24/08/2020

Виды и типы компрессионных чулков

Изделия называют компрессионными, когда их применяют для лечения, а также профилактики нарушений кровотока в нижних… Read More

22/08/2020