5
Feb
Curso de Magento 2 – Controladores (Controller)
Magento 2 es una plataforma de comercio electrónico robusta y versátil que permite a los desarrolladores crear tiendas en línea personalizadas y eficientes. Uno de los elementos fundamentales en el desarrollo de extensiones y personalizaciones en Magento 2 es la creación de controladores. Los controladores son responsables de manejar las solicitudes HTTP y ejecutar las acciones correspondientes. En este artículo, exploraremos paso a paso cómo crear un controlador en Magento 2 para mejorar la funcionalidad de tu tienda en línea.
Comprender la Estructura de Directorios en Magento 2
Antes de comenzar con la creación del controlador, es esencial entender la estructura de directorios en Magento 2. La mayoría de los archivos y carpetas relevantes se encuentran en la carpeta app/code de tu instalación de Magento. Asegúrate de ubicar la extensión en el espacio de nombres correcto y sigue las prácticas recomendadas de Magento.
Crear el Módulo de Magento 2
En primer lugar, crea un nuevo módulo para tu extensión. Un módulo en Magento 2 es una unidad de funcionalidad y puede contener controladores, modelos, vistas y otros componentes. Puedes crear un nuevo módulo para Magento 2 haciendo clic aquí.
Definir el Controlador en el Módulo
Crearemos nuestro controlador con el siguiente comando:
mkdir -p app/code/MyCompany/MyModule/Controller/Message
touch app/code/MyCompany/MyModule/Controller/Message/Index.php
<?php /** * Copyright © Gerson Hernández All rights reserved. */ declare(strict_types=1); namespace MyCompany\MyModule\Controller\Message; use Magento\Framework\App\Action\HttpGetActionInterface; use Magento\Framework\Controller\ResultInterface; use Magento\Framework\View\Result\PageFactory; class Index implements HttpGetActionInterface { /** * @var PageFactory */ protected $resultPageFactory; /** * Constructor * * @param PageFactory $resultPageFactory */ public function __construct(PageFactory $resultPageFactory) { $this->resultPageFactory = $resultPageFactory; } /** * Execute view action * * @return ResultInterface */ public function execute() { print("Hola Mundo"); exit; //return $this->resultPageFactory->create(); } }
Configurar la Ruta del Controlador
Crea un archivo de configuración del módulo en la carpeta app/code/MyCompany/MyModule/etc/frontend llamado routes.xml y define la ruta del controlador.
mkdir -p app/code/MyCompany/MyModule/etc/frontend
touch app/code/MyCompany/MyModule/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="mycompany" frontName="mycompany"> <module name="MyCompany_MyModule"/> </route> </router> </config>
Registrando nuestro módulo
Debes correr los siguientes comandos para que Magento acepte los cambios en tu módulo:
php bin/magento setup:upgrade
php bin/magento cache:clean
Acceder al Controlador desde el Navegador
Después de completar estos pasos, accede al controlador recién creado desde tu navegador. La URL seguirá el formato estándar de Magento 2.
http://magento2.localhost/mycompany/message/index
Al acceder a la URL tendrias que ver una pagina en blanco de Magento 2 con el mensaje «Hola Mundo»;
Conclusión
Crear un controlador en Magento 2 es un proceso esencial para personalizar la funcionalidad de tu tienda en línea. A medida que te familiarices con la estructura de directorios y la arquitectura de Magento 2, podrás desarrollar extensiones más complejas y poderosas. ¡Experimenta y mejora tu tienda en línea con las posibilidades ilimitadas que ofrece Magento 2!
¡Eso es todo!
Author
Licenciado en Informatica graduado de la Universidad Tecnológica de El Salvador. PHP Developer con más de 8 años de experiencia trabajando con HTML, CSS, Bootstrap, Tailwind, JavaScript, jQuery, Knockout JS, React JS, Node JS, MySQL, PHP, Laravel, Codeigniter, Wordpress, Woocommerce y Magento.