Щоб відобразити "Hello World" на вашій власній сторінці в Magento 2, виконайте такі дії:

1. Зареєструйте маршрутизатор для вітрини.

Створіть цей файл:

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>

Ви можете використовувати ім'я розробника (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();
    }
}

Усі контролери повинні містити публічний метод для виконання . Викликається під час доступу до контролера.
Контролери вітрини успадковуються від класу \Magento\Framework\App\Action\Action .

Зверніть увагу!

Згідно зі стандартами вимог до коду Magento 2, використання конструктора echo у файлах PHP заборонено, а використання exit exit повністю заборонено. Ви можете використовувати їх лише тимчасово для тестування.

У прикладах ми створимо модуль Magefan_Faq для розділу часто задаваних питань (FAQ).

Отримана структура модуля виглядатиме так:

├── 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 (впровадження залежностей). Виконайте команду CLI:

php bin/magento setup:di:compile

5. Відвідайте нову сторінку.

Якщо ви хочете побачити щойно створену сторінку, перейдіть за посиланням:
http://your-magento-store.com/ шлях/ індекс/ індекс/

Ви побачите текст:

Hello World

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