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

 

Recent Posts

SIP-транки — що це таке і як вони працюють у IP-телефонії

У сучасній IP-телефонії важливу роль відіграє технологія, яка забезпечує передачу голосу через інтернет між бізнесом…

6 днів ago

Чому варто обрати ноутбук Apple MacBook Pro 14 для сучасних ІТ-завдань

Вибір робочої машини для веб-розробника або адміністратора серверів є завжди компромісом між портативністю, автономністю і…

1 тиждень ago

Практичний гайд: як підібрати надійний безперебійник для домашнього роутера

Зникло світло і разом з ним миттєво зник зв'язок з навколишнім світом? Це знайома та…

2 тижні ago

Google втрачає монополію: Як підготувати IT-сайт до AI-пошуку (GEO)

Що взагалі сталося з пошуком в інтернеті? Я не побоюся сказати це вголос: сталася справжня…

4 тижні ago

Проксі для соцмереж та Facebook – Як уникнути бана облікових записів

Уявіть, що вас внесли до чорного списку елітного клубу. Якщо ви підійдете до фейс-контролю особисто…

4 тижні ago

Антидетект-браузери для початківців: що це таке (на прикладі Dolphin чи AdsPower) і як їх правильно поєднати з мобільними проксі

Анонімність та розділення акаунтів є базовою потребою для співробітників, що займаються арбітражем трафіку, SMM чи…

1 місяць ago