20
Mar
Plugins en Magento 2
Magento 2 es una de las plataformas de comercio electrónico más populares y potentes disponibles en el mercado actual. Su flexibilidad y capacidad para personalizar diversas partes de la tienda en línea lo convierten en una opción preferida para muchos propietarios de tiendas en línea. Una de las características que a menudo requieren personalización es la presentación de productos, incluido el nombre de los productos. En este artículo, exploraremos cómo crear un plugin en Magento 2 para modificar el nombre de los productos.
Comprendiendo los Plugins en Magento 2
En Magento 2, los plugins son una forma de modificar o extender la funcionalidad de una clase sin modificar directamente su código. Los plugins pueden interceptar los métodos públicos de una clase y ejecutar código antes, después o alrededor de estos métodos.
Paso 1: Configurar la Estructura del Módulo
Primero, necesitamos crear la estructura básica de nuestro módulo. Te dejo el siguiente enlace para que puedas crear un módulo en Magento 2. Una vez tengas completado este paso, puedes pasar al siguiente.
Paso 2: Definir el Archivo de Configuración del Plugin
Dentro del directorio etc
, crearemos un archivo llamado di.xml
. Este archivo se utiliza para declarar nuestros plugins y sus configuraciones. Aquí es donde especificaremos qué método de qué clase queremos modificar.
<?xml version="1.0" ?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <type name="Magento\Catalog\Model\Product"> <plugin name="MyCompany_MyModule_Plugin_Magento_Catalog_Model_Product" type="MyCompany\MyModule\Plugin\Magento\Catalog\Model\Product" sortOrder="10" disabled="false"/> </type> </config>
Paso 3: Crear el Plugin
Dentro del directorio app/code/MyCompany/MyModule/Plugin/Magento/Catalog/Model
, crearemos un archivo llamado Product.php
. Este será nuestro archivo de plugin donde escribiremos el código para modificar el nombre del producto.
<?php /** * Copyright © Gerson Hernández All rights reserved. */ declare(strict_types=1); namespace MyCompany\MyModule\Plugin\Magento\Catalog\Model; class Product { public function afterGetName( \Magento\Catalog\Model\Product $subject, $result ) { $modifiedName = $result . ' - Nuevo Nombre'; return $modifiedName; } }
Paso 4: Implementar la Lógica de Modificación del Nombre
En el método afterGetName
, escribiremos la lógica para modificar el nombre del producto. En este ejemplo, simplemente agregamos «- Nuevo Nombre» al final del nombre del producto original. Puedes personalizar esta lógica según tus necesidades, como cambiar el formato del nombre o agregar información adicional.
Paso 5: Limpiar la Caché
Después de completar todos los pasos anteriores, es importante limpiar la caché de Magento para asegurarse de que los cambios surtan efecto. Esto se puede hacer ejecutando el comando php bin/magento cache:clean
desde la línea de comandos en la raíz de tu instalación de Magento.
Conclusión
Con estos pasos, has creado con éxito un plugin en Magento 2 para modificar el nombre de los productos. Ahora, cuando se solicite el nombre de un producto, el plugin interceptará la llamada y aplicará la lógica que has definido para modificar el nombre antes de devolverlo. Este enfoque te permite personalizar fácilmente la presentación de los productos en tu tienda en línea de acuerdo con tus necesidades específicas.
¡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.