В цьому уроці ми створимо найпростіший модуль в Magento 2. Це буде тільки каркас, який ми будемо добудовувати і розвивати в наступних уроках.
Перш ніж ми почнемо розробку простого модуля Magento 2, є дві речі, про які багато хто забуває:
Відключення кешу Magento 2 під час розробки допоможе заощадити час, тому що вам не потрібно вручну очищати кеш кожен раз, коли ви вносите зміни в код.
Найпростіший спосіб відключити кеш – перейти в Admin → System → Cache Management → вибрати всі типи кеша і встановити для них Disable.
Або ви можете набрати в консолі наступну команду (як працювати з консоллю, ви можете подивитися в цьому уроці):
php bin/magento cache:disable
Ви повинні перевести Magento 2 в режим розробника, що дозволить вам бачити всі помилки під час розробки.
Для цього відкрийте консоль та з кореня сайту виконайте наступну команду:
php bin/magento deploy:mode:set developer
Якщо ви раніше працювали з 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
в папці 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
в папці 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. Він уже присутній в системі, але поки нічого корисного не робить. У наступних уроках ми будемо наповнювати його корисним функціоналом.
Сьогоднішній огляд присвячений людям, для яких важливе питання конфіденційності в Інтернеті, та хто цінує свої…
Вперше про бренд Pro Plan почули у 1986 році, коли він став частиною американської компанії…
Страх покарання гірше самого покарання (Покарання — завжди щось конкретне, і воно все ж краще,…
Якщо ви плануєте розмістити веб-сайт в мережі Інтернет, дуже важливо знайти для нього швидкий і…
Навчання за кордоном вже давно асоціюється з якісною освітою, новими можливостями та безліччю перспектив. Але…
Вибір майстра для ремонту та перетяжки меблів – завдання, яке потребує вдумливого підходу. Адже від…