Cómo crear un módulo.


Vamos a crear un módulo sencillo que nos permitirá mostrar el mensaje Hola Mundo! al visitar una URL determinada.

La configuración

Comenzaremos por crear el esqueleto de la extensión, para esto vamos a necesitar dos archivos:

  • config.xml
  • Fabricio_Saludos.xml

nota: Debes respetar las MAYUSCULAS y las MINusculAS, presta toda la atención posible a esto porque muy frecuente cometer este tipo de errores, te ahorrarás muchos dolores de cabeza !

Vamos a crear el primer archivo, este archivo se utiliza para declarar el módulo en Magento; desde este archivo le damos a conocer a Magento que archivos forman parte del nuevo módulo que estamos creando. La ubicación del archivo es app/etc/modules/Fabricio_Saludos.xml , revisa el siguiente código:

<?xml version="1.0"?>
  <config>
    <modules>
      <Fabricio_Saludos>
        <active>true</active>
          <codePool>local</codePool>
      </Fabricio_Saludos>
    </modules>
</config>

El segundo archivo XML se llama config.xml, y se utiliza para especificar todas las configuraciones de la extensión, tales como rutas, bloques, modelos y los nombres de clases para los helpers. En nuestro ejemplo, sólo vamos a trabajar con los controladores y las rutas. Vamos a crear el archivo de configuración con el siguiente código. La ubicación del archivo es app/code/local/Fabricio/Saludos/etc/config.xml, y contiene el siguiente código:

<?xml version="1.0"?>
<config>
    <modules>
        <Fabricio_Saludos>
            <version>0.1.0</version>
        </Fabricio_Saludos>
    </modules>
    <frontend>
        <routers>
            <fabricio_saludos>
                <use>standard</use>
                <args>
                    <module>Fabricio_Saludos</module>
                    <frontName>saludos</frontName>
                </args>
            </fabricio_saludos>
        </routers>
    </frontend>
</config>

Ahora nuestra extensión se puede cargar desde Magento, y se puede activar o desactivar desde el backend de Magento desde el menú Sistema|Configuración|Avanzada.

El controlador

Magento en su núcleo es un framework MVC (Modelo-Vista-Controlador), para que nuestra nueva ruta sea funcional, tenemos que crear un nuevo controlador que responda a esta ruta específicamente, sigue estos pasos:
  • Vamos al directorio raíz del módulo que estamos creando.
  • Creamos una nueva carpeta llamada controllers.
  • Dentro de la carpeta controllers, creamos un archivo llamado IndexController.php.
  • Y copia el siguiente código dentro, la ruta final es app/code/Fabricio/Saludos/controllers/IndexController.php:

    <?php
    class Fabricio_Saludos_IndexController extends Mage_Core_Controller_Front_Action
    {
        public function indexAction()
        {
            echo 'Hola mundo!';
        }
    }

Comprobando nuestra ruta

Ahora que hemos creado la ruta y el controlador, podemos probarla abriendo http://magento.localhost/saludos/index/index (la ruta puede variar dependiendo de la configuración de tu servidor local), y el navegador deberíamos ver algo como esto :

Por defecto, Magento utilizará tanto el controlador del index y la acción del index como valores predeterminados en cada extensión. Por lo tanto, si vamos a http://magento.localhost/saludos/index, deberíamos ver la misma pantalla.

Para finalizar esta introducción a los módulo de Magento, vamos a añadir una nueva ruta a nuestro controlador:
 

  • Vamos al directorio raíz de la extensión.
  • Abrimos el archivo IndexController.php
  • Y copiamos el siguiente código, la ruta completa sería: app/code/local/Fabricio/Saludos/controllers/IndexController.php.

    <?php
    class Fabricio_Saludos_IndexController extends Mage_Core_Controller_Front_Action
    {
        public function indexAction()
        {
            echo 'Hola mundo esta es una acción predeterminada';
        }
    
        public function mimensajeAction()
        {
            echo 'Hola, esta línea es de un controlador de acción personalizado';
        }
    }

Por último, vamos a probar la cargar de la nueva ruta de acción, desde el navegador web, en mi caso Chrome voy a escribir en la barra de dirección  http://magento.localhost/saludos/index/mimensaje y se debería ver de la siguiente manera:

 

Añadir nuevo comentario

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.
1 + 4 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.