Crear un módulo para PrestaShop

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.

 

 

Comparte en tus redes sociales

5 Respuestas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *