¿Sabes cómo crear un módulo en Magento 2? Aquí te explicaré cómo hacerlo. Verás que es algo increíblemente fácil gracias a la modularidad y simplicidad de este fantástico gestor de contenido para comercio electrónico.
Creación de módulos en Magento 2. Diferencias y similitudes con Magento 1
Crear un módulo en Magento 2 es bastante similar a hacerlo en Magento 1. Por ejemplo, la programación no ha cambiado mucho, y tampoco la estructura de archivos. Además, el concepto de módulo es exactamente el mismo. Así que, si ya lo habías creado un módulo en la primera versión, no tendrás dificultades para conseguirlo en esta.
Solo te diré que, como de costumbre, las clases para las vistas se ubican en “Blocks”, el manejo de datos en “Models”, los helpers de toda la vida en “Helpers”, y también tendrás a mano variados controllers para recibir y procesar las llamadas de las URLs. Y la carpeta “etc” contiene los archivos de configuración, que en Magento 2 consisten en más que el único “config.xml” de Magento 1, y por una muy buena razón: facilitar la lectura y comprensión del código. Sin embargo, en este tutorial trabajaremos con este fichero solamente.
¿Cómo crear un módulo en Magento 2?
1. Crear las carpetas que contendrán el código del módulo. A saber:
app/code/<Vendor>/<Module> app/code/<Vendor>/<Module>/etc
Sustituye <Vendor> por el nombre que quieras (para este tutorial, le llamaré BMagento, por el nombre del blog), y lo mismo haz con <Module> (le pondré BMTutorial). La carpeta “etc” contendrá, como ya expliqué, el fichero principal con las configuraciones del módulo.
2. Crear el fichero de configuración:
app/code/BMagento/BMTutorial/etc/module.xml
Prescindamos de las explicaciones teóricas y vayamos directo al código, que podrás analizar una vez lo hayas copiado y pegado en el fichero:
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd"> <module name="BMTutorial" setup_version="1.0.0"> </module> </config>
Con esto, ya tienes la configuración de tu nuevo módulo y puedes pasar a personalizar la información de Composer. Veamos cómo.
3. Configura el módulo para Composer
El código para Composer irá en:
app/code/Bmagento/BMTutorial/composer.json
Y el código que deberás insertar es el siguiente:
{ "name": "bmagento/bmtutorial", "description": "Mi primer modulo en Magento 2!", "type": "magento2-module", "version": "1.0.0", "license": [ "OSL-3.0", "AFL-3.0" ], "require": { "php": "~5.6.0|7.0.2|7.0.4|~7.0.6" }, "autoload": { "files": [ "registration.php" ], "psr-4": { "BMagento\\BMTutorial\\": "" } } }
3. Habrás notado que el código anterior hace referencia a un fichero llamado “registration.php”. Este es el que permitirá el registro de tu nuevo módulo para el autocargador de clases. El fichero es el siguiente:
app/code/Bmagento/BMTutorial/registration.php
Y el código:
<?php \Magento\Framework\Component\ComponentRegistrar::register( \Magento\Framework\Component\ComponentRegistrar::MODULE, 'BMagento_BMTutorial', __DIR__ );
Y con esto tienes tu primer módulo en Magento. Para ponerlo en marcha, solo tienes que flushear, limpiar cachés y actualizar desde la línea de comandos, haciendo:
php bin/magento cache:flush php bin/magento cache:clean php bin/magento setup:upgrade
Si quieres comprobar si se activó o no, solo tienes que teclear:
php bin/magento module:status
Y observar la lista que aparece en pantalla: el nuevo módulo debe aparecer junto a los demás.
Ahora bien, tal y como se encuentra este módulo no hace absolutamente nada. Pero ya contiene todo lo necesario para que puedas empezar a añadirle funcionalidades: plantillas, controladores, menús, zonas en frontend, tareas programadas, etc. Así que no pierdas uno segundo más ¡y pasa a la acción!
Si te gustó este tutorial, compártelo con tus amigos de Magento en las redes sociales, o déjame un comentario aquí abajo con tu opinión o cualquier duda que tengas.