Создание нового действия контроллера в Magento 2: пошаговое руководство

В этом сообщении блога мы познакомим вас с процессом создания нового действия контроллера в Magento 2. Независимо от того, являетесь ли вы опытным разработчиком или только начинаете, это руководство предоставит вам простые в использовании шаги. и примеры кода, которые помогут вам начать работу. Итак, давайте углубимся и узнаем, как расширить функциональность Magento, создав новое действие контроллера!

Шаг 1. Определите маршрут
Чтобы создать новое действие контроллера, первым шагом является определение маршрута. Маршрут представляет собой URL-адрес, который запускает определенное действие контроллера. Предположим, мы хотим создать новое действие под названием «myaction» в контроллере «mycontroller».

// Define the route in your module's etc/frontend/routes.xml file
<router id="standard">
    <route id="myroute" frontName="myroute">
        <module name="Vendor_Module" />
    </route>
</router>

Шаг 2. Создайте контроллер
Далее нам нужно создать файл контроллера, который будет обрабатывать логику нашего нового действия. В нашем случае файл контроллера должен называться «Mycontroller» и располагаться в каталоге «Controller» нашего модуля.

<?php
namespace Vendor\Module\Controller\Mycontroller;
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
class Mycontroller extends Action
{
    protected $resultPageFactory;
    public function __construct(Context $context, \Magento\Framework\View\Result\PageFactory $resultPageFactory)
    {
        $this->resultPageFactory = $resultPageFactory;
        parent::__construct($context);
    }
    public function execute()
    {
        // Your custom logic goes here
        // Return a result page
        return $this->resultPageFactory->create();
    }
}

Шаг 3. Определите действие
Теперь нам нужно определить действие внутри нашего контроллера. В нашем случае метод действия должен называться «execute()». Этот метод будет содержать пользовательскую логику для нашего нового действия.

public function execute()
{
    // Your custom logic goes here
    // Return a result page
    return $this->resultPageFactory->create();
}

Шаг 4. Тестирование действия
После создания контроллера и определения действия пришло время протестировать нашу новую функциональность. Откройте веб-браузер и перейдите по следующему URL-адресу:

http://yourmagentoinstallation.com/myroute/mycontroller/myaction

Если все настроено правильно, вы должны увидеть страницу результатов, созданную методом execute().

Поздравляем! Вы успешно создали новое действие контроллера в Magento 2. Следуя инструкциям, описанным в этом руководстве, вы можете расширить функциональность Magento и добавить настраиваемые действия в соответствии с вашими конкретными потребностями. Теперь вперед и исследуйте безграничные возможности разработки Magento!