Cómo crear un módulo en Magento. Introducción
En este post vamos a explicar cómo crear un módulo: la manera limpia y correcta de aplicar cualquier cambio en el código de Magento, por pequeño que sea
El módulo de este tutorial no realiza ninguna funcionalidad, este post únicamente explica cómo crear y activar un módulo, así como mostrar la ubicación y reglas de nomenclatura de sus ficheros básicos. Otros posts de la serie tratan temas más avanzados, como las reescrituras (rewrites) de código
En Magento hay 3 codepools, o repositorios de código
app/code/community app/code/core app/code/local
core contiene el código original, mientras que en community & local encontramos las extensiones instaladas. Usualmente los módulos desarrollados de manera interna utilizan el codepool local
El primer paso a la hora de crear un módulo es bautizarlo. Elegimos namespace & nombre. Vamos a llamar al módulo de este post VIAN Tutorial, donde VIAN es el namespace & Tutorial el nombre del módulo
Los módulos deben tener un fichero XML de configuración, en
app/etc/modules
Creamos un fichero XML, generalmente con el mismo nombre del módulo VIAN_Tutorial.xml, y escribimos
local
true
Este fichero indica a Magento que queremos activar el módulo (tag active) y debe ser cargado desde el codePool local. Ambos parámetros son definidos dentro del tag XML VIAN_Tutorial, compuesto por namespace & nombre del módulo, separados por _
Creamos las carpetas & ficheros de nuestro módulo, tal como hemos definido, en el codepool local. Creamos la carpeta raíz, con el namespace que hemos elegido, y dentro la carpeta de nuestro módulo, con el nombre que hemos elegido
app/code/local/VIAN/Tutorial
Creamos la carpeta de configuración (etc) & otra serie de carpetas típicas de un módulo en Magento
app/code/local/VIAN/Tutorial/Block app/code/local/VIAN/Tutorial/controllers app/code/local/VIAN/Tutorial/etc app/code/local/VIAN/Tutorial/Helper app/code/local/VIAN/Tutorial/Model app/code/local/VIAN/Tutorial/sql
Aunque nuestro módulo únicamente va a contener un fichero de configuración, vamos a explicar brevemente a qué hacen referencia cada una de esas carpetas
Magento está desarrollado siguiendo una estructura modular, dentro de cada uno de sus módulos encontramos algo similar a la típica estructura Modelo-Vista-Controlador. El patrón MVC en Magento es un tanto peculiar, muchas veces los controllers apenas ejecutan lógica, se limitan a crear o cargar un fichero de layout, y es ese fichero de layout el que progresivamente va llamando a blocks (que a su vez llaman a modelos, helpers, etc…), donde se ejecuta la tarea habitual de los controllers (preparar los datos para las vistas) en la mayoría de frameworks. La documentación oficial de Magento explica todo ésto de manera mucho más detallada, por ejemplo aquí
Visto ésto, la única carpeta que no hemos mencionado, sql, es donde podemos localizar los ficheros de instalación o actualización de estructuras de tablas de Base de Datos para nuestro módulo
Dentro de la carpeta de configuración
app/code/local/VIAN/Tutorial/etc
Creamos el fichero principal de configuración, config.xml
0.1.0
VIAN_Tutorial_Block
VIAN_Tutorial_Helper
VIAN_Tutorial_Model
En este fichero de configuración lo que hacemos es indicar la versión de nuestro módulo (utilizada principalmente en instalaciones & actualizaciones SQL), y las carpetas raíz para Blocks, Helpers & Modelos
Y con ésto tenemos nuestro módulo activo, preparado para realizar todo tipo de funcionalidades en Magento
-
[…] Cómo crear un módulo en Magento. Reescrituras (rewrites) Posted on 19/12/2012 by Raul Twitter Tweet !function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs"); Facebook LinkedIn En este post vamos a explicar cómo crear reescrituras de código de Magento. Utilizaremos el módulo creado en Cómo crear un módulo en Magento. Introducción […]
Leave a Comment
Muy buen tutorial che, recién me estoy iniciando en magento y me viene muy bien, muchisimas gracias!
Muchas gracias, muy buena información para comenzar .. Un saludo
Muchas gracias Raúl me parece muy acertado el post, me ayuda a no pensar en abandonar la carrera maratónica de aprender a hablar Magento, conocerlo y poder hacer lo que quiera con él!!!