Tag Archives: prestashop

Creando un modulo para Prestashop

En esta pequena entrada veremos como crear un modulo sencillo para prestashop, un sistema de tienda Virtual semejante a Oscommerce. Al decir modulo me refiero a uno de los bloques que pueden verse en la primera pagina.

Ejemplo:

ejemplo_de_modulos_prestashop

El ejemplo que veremos sera bastante sencillo, crearemos una carpeta con el nombre “hellototheworld” y dentro de ella crearemos dos archivos:
hellototheworld.php y hellototheworld.tpl (tambien podemos crear un tercer archivo “logo.gif” de 17px X 17px para verlo en el panel de administracion Prestashop)

Cabe mencionar que el archivo php es donde se almacena el controlador Smarty pues estos modulos siguen una arquitectura MVC y el archivo tpl es la vista (la V de MVC para los que no lo sepan).

Bueno, vayamos directo a nuestro ejemplo:

hellototheworld.php

<?php


class
hellototheworld extends Module

{

function __construct()

{

$this->name = ‘hellototheworld‘;

$this->tab = ‘Blocks’; // esto sirve para especificar el grupo dentro de modulos
$this->version = 0.1;
// la version de nuestro modulo


$this->page = basename(__FILE__, ‘.php’);
//ubicamos la ruta hacia nuestro archivo

$this->displayName = $this->l(‘Hola Mundo’);
// este es el nombreque veremos en el panel de administracion para nuestro modulo
$this->description = $this->l(‘Esta es solo una simple descripcion de nuestro modulo 🙂 ‘);

}


// funcion para instalar el modulo, esta sera usada cuando seleccionemos nuestro modulo y lo instalemos haciendo clic en el boton destinado para este proposito en el CP
function install()

{

if (!parent::install())

return false;

if (!$this->registerHook(‘rightColumn’) OR !$this->registerHook(‘leftColumn’))

return false;

return true;

}

//este metodo carga el template que creamos: hellototheworld.tpl
function hookRightColumn($params)

{

global $smarty;

return $this->display(__FILE__, ‘hellototheworld.tpl‘);

}

//este metodo copia el funcionamiento del anterior
function hookLeftColumn($params)

{

return $this->hookRightColumn($params);

}


}

?>

El siguiente archivo es:
hellototheworld.tpl

<div class=”block” >
<h4>Hola Mundo!</h4>
<div class=”block_content”>
<p>Hola Mundo soy un bloque nuevo y albergo un parrafo, aunque tambien podria almacenar
imagenes, ficheros flash, y archivos generados dinamicamente generados por nuestro
hellototheworld.php, pero esto no lo veremos en este pequeno tutorial
</div>
</div>

Como podemos ver existen dos clases CSS: “block” y “block_content”, estas son las que haran que nuestro modulo se vea muy parecido a los otros, quiero decir, con la misma cabecera y tipo de letra para el titulo, todo lo demas es configurable, tu puedes crear tus propias hojas de estilos sin problemas.

Despues de esto, ya estamos preparados para empaquetar nuestro modulo e instalarlo, para este fin empaquetaremos la carpeta completa en el formato .tar (no .tar.gz) y haremos referencia a la url que alberga esta carpeta desde la opcion de instalacion de modulos, esto se puede conseguir creando una carpeta en la raiz de nuestro dominio y copiando el comprimido en ella, luego haremos referencia a nuestro archivo asi:

http://www.example.com/carpeta_temporal/hellototheworld.tar

Y listo, ya tenemos instalado nuestro modulo, despues de esto solo nos queda activarlo, y asignarle una posicion usando la pestana posiciones dentro del menu de modulos.

ejemplo_culminado

PS:

– Este articulo es realmente sencillo, para profundizar mejor recomendaria estudiar lo siguiente: CSS y Smarty.

– He notado algunos errores al posicionar este modulo.