Primer módulo en prestashop

Primer módulo en prestashop

Veremos cómo crear un módulo completo y funcional  en Prestashop. A grandes rasgos se va a encargar de mostrar HTML, el cual configuremos desde el panel de administración, en el fron-office de nuestra web.

 

Requisitos 

  • Conocimientos básicos en HTML y PHP
  • Conocimientos básicos en el funcionamiento de Prestashop.

Dificultad: Media

 

Como norma general suelo generar la estructura con el generador de módulos de Prestashop , para ello es obligatorio tener cuenta en prestashop.com (Algo que nunca está de más tener).

 

 

 

Simplemente elegimos un nombre, una descripción e indicamos el autor para continuar con el asistente. El paso más importante es el último, en el mismo le tenemos que indicar en que hook(gancho)  queremos colocar nuestro módulo. Para hacerlo lo más sencillo posible vamos a seleccionar el hook displayHome.

 

Una vez descargado nos iremos al nuestro back-office en la sección de módulos y lo instalaremos. Quedará algo como así:

 

 

Para que nos sea funcional crearemos un textarea con un botón de guardar, de tal manera que lo escrito en el textarea quedara almacenado en la base de datos para posteriormente recuperarlo e imprimirlo por pantalla.

 

Nos dirigimos al /modules/NOMBREDELMODULO/NOMBREDELMODULO.php , en mi caso addhtml.php

Este  es el archivo principal en el cual generaremos el formulario y la impresión de lo guardado.

Generamos el formulario escribiendo en el getConfigForm() lo siguente : 

return array(

    array(

        'form' => array(

            'legend' => array(

            'title' => 'Nuesto html',

            'icon' => 'icon-plus'

            ),

            'input' => array(

                array(

                'type' => 'textarea',

                'label' => $this->l('HTML'),

                'name' => 'html',

                'cols' => 100,

                'rows' => 30

                ),

 

            ),

            'submit' => array(

            'name' => 'submitHtml',

            'title' => $this->l('Add')

            )

     ),

 

);

 

 Si lo hemos hecho correctamente nos aparecerá lo siguiente en la configuración del módulo:

Llegados a este punto hemos hecho la mitad del camino tan solo nos queda que procese el formulario guardándolo en la base de datos y posteriormente se muestre.

 

Procesamiento del formulario

En el método postProcess debemos detectar si el formulario ha sido mandando y si ha sido así actualizar nuestra base de datos con el nuevo valor:

        if (Tools::isSubmit('submitBlocktopmenuManual')) {

            Configuration::updateValue(‘html’, Tools::getValue('MY_HTML'),true);

            $this->_html  .= $this->displayConfirmation($this->l('Cambios guardados'));

        }

 

Impresión de lo guardado en el hook DisplayHome

 

public function hookDisplayHome()

{

    $mihtml = Configuration::get('MY_HTML');

    echo $mihtml;

}

 

 

Este sería el resultado final:

 

Te atendemos

Esta web utiliza cookies. Puedes ver nuestra política de cookies. Si continúas navegando estás aceptándola.