Magento 2 Розширення для Новачків. З чого почати?

Лютий 6, 2024

Для того, щоб створити Magento 2 розширення, необхідно виконати наступні дії:

  1. Налаштувати Magento 2 Open Source локально
  2. Створити директорію назви розробника або компанії
  3. Створити директорію розширення
  4. Додати 2 конфігураційні файли в розширення
  5. Включити розширення в системі
  6. Зареєструвати розширення в системі

Давайте детально розберемо.

Налаштувати Magento 2 Open Source локально

Перш за все, необхідно встановити Magento 2 Open Source локально. Я вже описав увесь процес встановлення Magento 2 Open Source за допомогою Docker. Після того, як встановили Magento 2 Open Source, повертаємось назад до цього допису.

Створити директорію назви розробника або компанії

Magento 2 розширення, або Magento 2 модуль, може знаходитись у двох локаціях. Якщо розширення встановлюється за допомогою Composer менеджера пакетів, то розширення буде знаходитись в директорії vendor.

Наприклад, розширення developerandcode/catalog буде розташований у vendor/developerandcode/catalog.

Друга локація для розміщення Magento 2 розширення це директорія app/code. Але тут є один момент. Директорія розширення використовується як namespace частина PHP класів та інтерфейсів, і тому важливо, щоб назва директорій розширення була вірною.

Тому, те саме розширення developerandcode/catalog, має бути створена як app/code/DeveloperAndCode/Catalog.

Додати 2 конфігураційні файли в розширення

Давайте тут розберемось. Magento 2 розширенню необхідно не 1, а цілий 2 файли для того, щоб зареєструватися в Magento 2 системі.

Перший файл називається registration.php. Файл має знаходитись в корні модуля app/code/DeveloperAndCode/Catalog/.

<?php declare(strict_types=1);

use Magento\Framework\Component\ComponentRegistrar;

ComponentRegistrar::register(
    ComponentRegistrar::MODULE,
    'DeveloperAndCode_Catalog',
    __DIR__
);

Файл registration.php будь-якого Magento 2 розширення надає інформацію для Magento 2 системи. А саме, за допомогою методу register() класу ComponentRegistrar, ми встановлюємо тип компонента як “модуль”, використовуючи одну з констант класу ComponentRegistrar під назвою MODULE. Також, ми вказуємо псевдо назву компоненту DeveloperAndCode_Catalog. Останнім аргументом методу register(), ми вказуємо локацію файлів Magento 2 розширення за допомогою вбудованої PHP константи __DIR__.

Другий файл, який необхідно створити для того, щоб зареєструвати Magento 2 розширення це module.xml.

module.xml це конфігураційний файл, який надає інформацію про назву компоненту, знову ж таки псевдо назву. Таку саму, як і у файлі registration.php. Також, але це не обов’язково, файл module.xml визначає залежності на інші розширення, якщо такі залежності необхідні. Необхідність додавання залежностей визначається у випадку, якщо дане розширення розширює або використовує конфігурацію іншого розширення. При тому важливо зберегти правильність загрузки конфігурацій різних розширень.

Я знаю, звучить заплутано, але можна поки що упустити залежності, і сфокусуватись на основному. Що необхідно додати в файл module.xml.

Файл module.xml має розташовуватись в директорії 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="DeveloperAndCode_Catalog" />
</config>

Включити розширення в системі

Magento 2 надає Magento CLI, за допомогою якого, можна запускати команди. Для того, щоб встановити нове розширення DeveloperAndCode_Catalog, необхідно запустити наступні команди з директорії Magento 2 проєкту.

Команда ввімкнення розширення DeveloperAndCode_Catalog:

bin/magento module:enable DeveloperAndCode_Catalog

Зареєструвати розширення в системі

Команда реєстрації нового розширення в системі Magento 2:

bin/magento setup:upgrade

Висновки

Таким чим, у цьому дописі, ми познайомились з процесом створення Magento 2 розширення, вивчили локації Magento 2 розширення, та написали розширення та необхідні конфігураційні файли. Також, ми встановили та зареєстрували Magento 2 розширення в системі.

Наступний крок, це створення функціональності, за яке дане Magento 2 розширення буде відповідати.

Підписуйтеся на канал “Спільнота програмістів - Developer & Code” в телеграмі


Макс Пронько

Макс Пронько - Програміст, CEO компанії Pronko Consulting, розбираємо Веб технології. Автор YouTube каналу Макс Пронько. Телеграм група сайту.

2024 © Developer & Code. Усі права захищені. Зроблено з ❤️ для 🇺🇦.