Esta es una guía para crear un módulo de prestashop para las versiones 1.5 y posteriores.
Como en versiones anteriores tenemos que crear una carpeta en /modules de nuestra tienda con el nombre de nuestro módulo, en este caso /modules/helloworld
con los archivos típicos de un módulo:
- helloworld.php
- helloworld.css
- config.xml
- logo.png
Hasta aquí no hay ninguna diferencia con las versiones anteriores, la diferencia está cuando queremos que nuestro módulo tenga un front-end para interaccionar con el usuario. Para ello tenemos que crear el siguiente árbol de carpetas dentro de nuestro módulo.
- modules/helloworld
- config.xml
- helloworld.php
- helloworld.css
- controllers/
- front/
- nuevo.php
- admin/
- front/
- views
- templates/
- front/
- nuevo.tpl
- admin/
- front/
- templates/
Principalmente solo vamos a usar los archivos nuevo.php y nuevo.tpl que va a ser nuestra página de módulo. Su contenido es:
nuevo.php
class HelloWorldNuevoModuleFrontController extends ModuleFrontController
{
public function initContent()
{
parent::initContent();
$this->setTemplate(‘nuevo.tpl’);
}
}
Donde en el nombre de la clase «HelloWorld» es el nombre de nuestro módulo y «Nuevo» el nombre del archivo php
nuevo.tpl
Hello World!
Nota: Recomiendo que el tpl se llame igual que el php para saber identificarlos en el futuro.
Con esto ya podemos acceder a la gestión de nuestro módulo a través de este enlace
www.example.com/index.php?controller=nuevo&module=helloworld&fc=module
o si tenemos al url amigables: www.example.com/module/helloworld/nuevo
existe una función que se puede usar para obtener esta dirección automáticamente:
$this->context->smarty->assign(array(‘link_modulo’ => $this->context->link->getModuleLink(‘helloworld’, ‘nuevo’)));
La próxima semana explicaré como hacer la parte del back-office del módulo.
Un saludo.
[…] te perdiste la primera entrada, aquí la tienes.Para empezar, podemos añadir un enlace directo en los menús superiores, para no tener […]