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:
-
- Page Result;
- JSON Result;
- Raw Result;
- Forward Result;
- 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.xml
temos 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:
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:
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!