Creare un modulo in Prestashop 1.6

23 Giugno 2014

Web

Con questo articolo inauguriamo una nuova di serie di tutorial dedicata a Prestashop, con l’obiettivo di fare un po’ di ordine nel mare di informazioni reperibili sul web riguardo a questo ottimo software per l’e-commerce. Fateci sapere cosa ne pensate, consigli e suggerimenti sono assolutamente bene accetti!

Partiamo da un esempio molto semplice, ovvero come creare un modulo basilare con Prestashop 1.6, che visualizzerà un nuovo box nella colonna di sinistra del tema che stiamo utilizzando.

Per prima cosa, all’interno della cartella modules, creiamo una nuova cartella con il nome del modulo che vogliamo realizzare, senza spazi o caratteri speciali e tutto in minuscolo, chiamiamolo ad esempio mymodule.

All’interno inseriamo un nuovo file php denominato esattamente come la cartella creata in precedenza, quindi mymodule.php.
Ecco il codice da incorporare, dove ci sono i puntini […] in seguito andremo a inserire le parti di codice mancanti.

A questo punto al posto dei puntini […] inseriamo i due metodi che gestiscono cosa fare quando viene installato e quando viene disinstallato il modulo, nel nostro caso l’unica cosa che dobbiamo fare in fase di installazione è registrare l’hook “leftColumn” in modo che il nostro modulo risulti disponibile nella colonna di sinistra del tema.


public function install() {
        if (!parent::install() || !$this->registerHook('leftColumn'))
            return false;
        return true;
    }

 public function uninstall() {
        if (!parent::uninstall())
            return false;
        return true;
    }
Quindi di seguito inseriamo il codice che gestisce cosa richiamare nell’hook “LeftColumn”
public function hookLeftColumn($params) {
    $this->smarty->assign(array(
    'sentence' => $this->l('Hello World')
));

return $this->display(__FILE__, 'mymodule.tpl');
}

Il codice non fa altro che assegnare alla variabile “sentence” la stringa “Hello World” e poi richiama la vista (mymodule.tpl) che si occuperà di visualizzare l’output del modulo.

Non ci resta quindi che creare questo file.
Per seguire gli standard di Prestashop (dalla versione 1.5 in poi) è bene inserirlo nel percorso views/templates/hook, creiamo quindi questa struttura di cartelle in modo che il percorso del file, a partire dalla root del modulo, sia

views/templates/hook/mymodule.tpl.

Ecco il codice del file:


<div id="mymodule_left" class="block">
	<h4 class="title_block">{l s='MyModule title' mod='mymodule'}</h4>
	<div class="block_content">
        <p>{$sentence}</p>
	</div>
</div>

Ora installiamo il modulo dal pannello di amministrazione e se tutto è andato a buon fine quando andremo a visualizzare il sito vedremo un nuovo box nella colonna di sinistra con il titolo “Mymodule title” e con la frase “Hello World” come  contenuto. Dal pannello di amministrazione, “Localizzazione -> Traduzioni”, sarà poi possibile tradurre in lingua le due stringhe.

Nell’allegato qui di seguito trovate il modulo appena creato in formato zip: mymodule.

Volete realizzare un progetto e-Commerce basato su Prestashop? Contattateci!