Magento 2 Controller Response Type

Neste artigo, começaremos a falar sobre os tipos de retorno que podemos ter ao trabalhar com Magento 2 Controller Response Type.

Magento 2 Controller Response Type

Em Magento 2, temos os seguintes Response Type:

    1. Page Result;
    2. JSON Result;
    3. Raw Result;
    4. Forward Result;
    5. Redirect Result

Neste artigo, começaremos pelo Response Type: Page Result.

Page Result

O Page Result trabalha na renderização da página com base em manipulação do layout XML. Quando você precisa criar uma nova página, por exemplo, é exatamente com ele que você trabalhará.

No seu ambiente de desenvolvimento crie um Controller, conforme abaixo:

<?php

namespace ForMage\Learning\Controller\Page;

use Magento\Framework\App\Action\Context;
use Magento\Framework\View\Result\PageFactory;

class ResponseType extends \Magento\Framework\App\Action\Action
{
    protected $pageFactory;

    public function __construct(
        Context $context,
        PageFactory $page
    ) {
        parent::__construct($context);
        $this->pageFactory = $page;
    }

    public function execute()
    {
        return $this->pageFactory->create();
    }
}

Como funciona uma rota no Magento 2?

Em etc/frontend/routes.xmltemos a nossa rota:

<?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="formage_learning" frontName="learning">
            <module name="ForMage_Learning" />
        </route>
    </router>
</config>

Uma rota é executa com frontName / Controller (diretório no controller) / Action (Classe no Controller)

No nosso caso, temos:

4Mage - Magento 2 Entendendo Controller

Assim, nossa rota será: learning / page (nosso diretório no controller) / responsetype (nossa classe controller): learning/page/responsetype

Apenas isso mesmo. Como não criamos um layout XML para essa página, ao acessar a nossa rota, é exibido uma página padrão do Magento:

4Mage - Magento 2 Controller Response Type Page Factory

De maneira bem simples, vimos como podemos trabalhar com Page Factory no Magento 2.

Para mais informações sobre Controller e Routing

Dúvidas? Posta aí!

Um abraço!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *