Щоб створити Basic модуль Magento 2 , вам потрібно лише 2 файли: module.xml та registration.php.
1. Спочатку створіть папка модулів :
app/code/<VendorName>/<ModuleName>/
та папку, яка міститиме файли конфігурації модуля:
app/code/<VendorName>/<ModuleName>/etc/
Якщо папка app/code відсутня у вашій інсталяції Magento 2, створіть її.
2. Помістіть файл module.xml з наступним вмістом у папку app/code/
<?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="VendorName_ModuleName" setup_version="2.0.0">
<sequence>
<module name="Magento_Cms"/>
<module name="Magento_Catalog"/>
</sequence>
</module>
</config>
послідовність не є обов'язковим елементом і призначена для визначення модулів, від яких залежить ваш модуль. Якщо залежності невідомі, їх можна вказати пізніше.
setup_version — визначає поточну версію модуля.
3. Створіть файл registration.php та помістіть його в папку app/code/<VendorName>/<ModuleName>/.
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'VendorName_ModuleName',
__DIR__
);
У прикладах ми створимо модуль Magefan_Faq для Часто задаваних питань (FAQ).
Результуюча структура модуля виглядатиме так:
├── app │ └── code │ └── Magefan // назва розробника - VendorName
│ └── Faq // назва модуля - ModuleName
│ ├── etc
│ │ └──module.xml
│ │
│ └── registration.php
│
На GitHub ви можете переглянути файли модуля Magefan_Faq модуль.
Після створення цих 2 файлів зареєструйте модуль у системі. Відкрийте CLI (термінал, командний рядок), потім перейдіть до кореневої папки Magento 2 та виконайте таку команду:
php bin/magento setup:upgrade
Вона перевіряє наявність нових та оновлених системних компонентів (модулів, тем, мовних пакетів), встановлює та оновлює їх.
Ви можете перевірити, чи модуль встановлено та ввімкнено, у цьому файлі
app/etc/config.php
у ньому має бути наступний рядок
'VendorName_ModuleName' => 1
Ми створили найпростіший модуль для Magento 2. Це окремий блок, хоча він ще не має жодної функціональності.
Детальніше про .