Como crear una extensión Magento

Crear extensión Magento

En esta nueva entrada del blog vamos ha aprender a desarrollar nuestra primera extensión Magento.

Vamos a crear una extensión muy sencilla para enseñar por pantalla el famoso Hello World.

El primer paso es crear el archivo que tendrá la información inicial del módulo como por ejemplo si está o no habilitado, de que módulo dependerá etc..

Para ello vamos a crear un archivo en app/etc/modules/ llamado Modulo_NombreDeLaExtensión, en nuestro caso hemos creado el archivo:

Progento_HelloWorld.xml sera el nombre del fichero para declarar la extensión Magento

Y dentro de este archivo añadiremos el siguiente xml:

  1. <?xml version=“1.0”?>
  2. <config>
  3.     <modules>
  4.         <Progento_HelloWorld>
  5.             <active>true</active>
  6.             <codePool>community</codePool>
  7.         </Progento_HelloWorld>
  8.     </modules>
  9. </config>

 

Ahora decidiremos donde crearemos nuestra extensión Magento, tenemos dos sitios donde ubicarla: (codepools)

1) app/code/community : Aquí se alojarán las extensiones que queramos colgar en Magento Connect.

2) app/code/local : Este codepool nos servirá para alojar las extensiones propias.

En nuestro caso vamos a ubicar la extensión Magento en el codepool community:

Para empezar debemos elegir un espacio de nombres (Namespace), este nombre es el que identificará la empresa que desarrolla la extensión Magento, y dentro de dicha carpeta tendremos todas las extensiones.

codepool_magento

 

En nuestro caso crearemos la carpeta Progento como espacio de nombres y HelloWorld como nombre de extensión Magento.

Ahora vamos a crear dos subcarpetas que cuelguen de HelloWorld: controllers y etc.

Dentro de la carpeta etc deberemos crear un nuevo archivo llamado config.xml y añadir el siguiente código:

  1. <?xml version=“1.0”?>
  2. <config>
  3.   <modules>
  4.     <Progento_HelloWorld>
  5.       <version>1.0.1</version>
  6.     </Progento_HelloWorld>
  7.   </modules>
  8.   <frontend>
  9. clash royale gems class=”li1″>
        <routers>
  10.       <helloworld>
  11.         <use>standard</use>
  12.           <args>
  13.             <module>Progento_HelloWorld</module>
  14.             <frontName>hellomage</frontName>
  15.           </args>
  16.       </helloworld>
  17.     </routers>
  18.   </frontend>
  19. </config>

Bien, vamos a explicar un poco lo que va hacer este XML que hemos creado.

El tag modules está indicando información sobre el módulo, por ejemplo su versión.

El tag frontend está diciendole a Magento que la url para carga la extensión será hellomage.

Una vez ya tenemos nuestro config.xml a punto vamos a añadir un archivo HelloController.php dentro de la carpeta controllers, es muy importante tener en cuenta las mayúsculas.

Dentro de este archivo tendremos que añadir el siguiente código:

  1. <?php
  2. class Progento_HelloWorld_HelloController extends Mage_Core_Controller_Front_Action {
  3.     public function darsaludoAction(){
  4.         echo ‘Hello World’;
  5.     }
  6. }

Lo que estamos haciendo es que cuando vayan a http://nuestraurl.com/hellomage/hello/darsaludo nos pinte un Hello World.

Vamos a ver el resultado en el navegador:

hellomagento

Bien!!! Ya tenemos desarrollada nuestra primera extensión Magento!!

En el siguiente tutorial vamos a entrar más a fondo en el desarrollo de extensiones para ver como utilizar archivos .phtml desde nuestra extensión Magento.

 

Espero que les haya resultado útil este post =)