Для того, щоб вивести "Hello World" на власній сторінці у Magento 2 виконайте наступні кроки:
1. Зареєструйте маршрутизатор (router) для вітрини (storefront).
Створіть файл:
app/code/<VendorName>/<ModuleName>/etc/frontend/routes.xml
помістіть у нього код:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:App/etc/routes.xsd">
<router id="standard">
<route id="VendorName_ModuleName" frontName="path">
<module name="VendorName_ModuleName" />
</route>
</router>
</config>
У якості id маршрутизатора можна використовувати назву розробника (VendorName), з’єднану з назвою модуля (ModuleName).
frontName використовується в URL для доступу до ваших контролерів.
Обидві назви повинні бути унікальними.
2. Створіть контролер.
Додайте новий файл:
app/code/<VendorName>/<ModuleName>/Controller/Index/Index.php
помістіть у нього код:
<?php
namespace VendorName\ModuleName\Controller\Index;
class Index extends \Magento\Framework\App\Action\Action
{
public function execute()
{
echo 'Hello World';
exit();
}
}
Усі контролери повинні містити публічний метод execute. Він викликається при доступі до контролера.
Від класу \Magento\Framework\App\Action\Action унаслідуються контролери вітрини (storefront).
Зверніть увагу!
За вимогами стандартів коду Magento 2 використання конструктора echo у PHP-файлах заборонене, використання конструктора exit заборонене взагалі. Ви можете застосовувати їх лише тимчасово у тестових цілях.
У прикладах ми створюватимемо модуль Magefan_Faq для поширених запитань (FAQ - Frequently Asked Question(s)).
Отримана структура модуля матиме такий вигляд:
├── app │ └── code │ └── Magefan // назва розробника - VendorName
│ └── Faq // назва модуля - ModuleName
│ ├── etc
│ │ ├──module.xml
│ │ └──frontend
│ │ └── routes.xm
│ │
│ ├── registration.php
│ └── Controller
│ └── Index
│ └── Index.php
│
Файли модуля Magefan_Faq можна переглянути на GitHub.
3. Очистіть кеш Magento.
Виконайте CLI команду:
php bin/magento cache:clean
4. Перекомпілюйте DI (Dependency Injections)
Виконайте CLI команду:
php bin/magento setup:di:compile
5. Відвідайте нову сторінку.
Якщо ви хочете побачити новостворену сторінку, перейдіть за посиланням:
http://your-magento-store.com/path/index/index/
Перед вами буде текст:
Hello World
Читайте більше, щоб дізнатись як створити власний блок у Magento 2.