Un módulo es un pequeño programas que hace uso de las funciones de PrestaShop para modificar o agregar ciertos aspectos de forma que sea más sencillo su uso.
Para crear un módulo lo primero que tenemos que hacer es crear una carpeta con el nombre del módulo dentro de la carpeta modules, en este caso vamos a crear una carpeta llamada prueba.
Además nos hacen falta los siguientes archivos:
. Un archivo principal PHP que se llama igual que el modulo, en este caso será prueba.php
– Un archivo logo.gif que será el icono de nuestro modulo
– Opcionalmente uno o varios archivos .TPL, todo dependerá de lo que realice nuestro modulo, en este caso usaremos un archivo .TPL que llamaremos prueba.tpl, no necesariamente se tiene que llamar igual que el modulo pero en este caso le vamos a llamar igual.
Nuestro modulo lo que va hacer es crear una variable de texto y visual izarla en el archivo .TPL, esta variable se visualizara en la columna de la izquierda de nuestro PrestaShop.
Comencemos…
Lo primero editamos el archivo prueba.php y añadiremos las siguientes líneas:
<?php if (!defined('_PS_VERSION_')) exit; class prueba extends Module { public function __construct() { $this->name = 'prueba'; $this->tab = 'mi modulo va en la barra izquierda'; $this->version = 0.1; $this->author = '3w soluciones web'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Modulo prueba'); $this->description = $this->l('Este modulo es una prueba.'); }
La primera línea se usa para que los usuarios no carguen directamente el modulo, después hemos inicializado nuestra clase, la cual se tiene que llamar igual que el modulo creado y llamamos a la función constructora, en la cual indicamos el nombre del módulo, el título que contendrá en la lista de módulos, la versión, el autor y si se carga o no en el BackOffice de PrestaShop.
Con la orden parent::__construct(); llamamos al constructor padre, debe hacerse ante de usar $this->l y después de usar $this->name, con las dos últimas líneas asignamos un nombre y una descripción publica para el modulo.
A continuación llamamos a la función install, que se encargara de hacer que el modulo conecte o se enganche a un Hook PrestaShop, en nuestro caso el de la columna izquierda.
public function install() { return (parent::install() AND $this->registerHook('leftColumn')); }
Este método comprueba que se ha podido registrar e instalar el modulo. A continuación definimos la función hookLeftColumn que será la encargada de «enganchar» nuestro modulo a la columna izquierda.
public function hookLeftColumn($params) { global $smarty; $var="hola"; $message = $this->l($var); $smarty->assign( 'messageSmarty', $message ); return $this->display(__FILE__, 'prueba.tpl'); }
En esta función declaramos una variable var que contiene el texto hola, esta variable se la pasamos al archivo prueba.tpl para que la visualice, antes de pasarla le asignamos la variable a una variable smarty global llamada messageSmarty.
Todo nuestro modulo quedaría de la siguiente manera:
<?php if (!defined('_PS_VERSION_')) exit; class prueba extends Module { public function __construct() { $this->name = 'prueba'; $this->tab = 'mi modulo va en la barra izquierda'; $this->version = 0.1; $this->author = '3w soluciones web'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Modulo prueba'); $this->description = $this->l('Este modulo es una prueba.'); } public function install() { return (parent::install() AND $this->registerHook('leftColumn')); } public function hookLeftColumn($params) { global $smarty; $var="hola"; $message = $this->l($var); $smarty->assign( 'messageSmarty', $message ); return $this->display(__FILE__, 'prueba.tpl'); } }
A continuación lo que vamos hacer es modificar el archivo prueba.tpl para que muestre nuestra variable, dejando nuestro archivo de la siguiente manera:
{$messageSmarty}
Con esto ya tendríamos nuestro modulo creado, ahora lo que hace falta es irnos a PrestaShop e instalar el modulo dentro del menú Módulos –> Módulos buscamos nuestro modulo prueba y le damos a instalar.
Con esto ya estaría nuestro modulo instalado y funcionando, y saldría en la columna de la izquierda al final del todo la palabra «hola» que el valor de nuestra variable.
Muy Bueno tu aporte…
Pero tengo una inquietud:
Debo hacer un modulo para prestashop 1.6 y debo tomar unas varibles del formulario de autenticación del usuario, es decir cuando el usuario está ingresando sus datos, para enviarlos a una plataforma de pagos.
Ya lo tengo todo listo, lo que no se es cuales variables maneja prestashop para:
numero del documento
nombre
apellidos
email
dirección
cualquier ayuda te la agradezco
He hecho el modulo… le he subido pero no me aparece a la hora de instalar… queme puede estar fallando?
Comprueba el nombre del modulo y de los archivos, tiene que tener el mismo nombre y coincidir las mayusculas y minusculas, y ademas tienen que coincidir con el contructor del modulo.
Un saludo.
Me pide permisos para instalarlo
?? Comrpueba que la carpeta tenga los correspondientes permisos o sino ponlos a 777.
Un saludo