Creazione del modulo Sample
Si parta da un esempio di semplice concezione, ovvero un progetto che prevede di creare un modulo di Prestashop per la visualizzazione e la gestione di un box nella colonna sinistra.
Impostazione file
Il primo passaggio da affrontare dovrà essere quello che consiste nel generare i file di base e le cartelle necessarie per il nostro modulo. Iniziamo quindi con il creare, all’interno della cartella modules
, una nuova sottocartella con il nome del modulo che vogliamo realizzare, senza spazi o caratteri speciali e tutto in minuscolo, chiamiamolo ad esempio sample
. Ora dobbiamo creare i file di base e le cartelle necessarie per il modulo.
File | Descrizione |
---|---|
sample.php | File principale o di bootstrap che si occuperà del caricamento e della gestione del modulo. |
sampleClass.php | Contiene la classe utilizzata dal modulo). |
logo.png | Icona del modulo visualizzata nel back-office (Prestashop 1.5+). |
logo.gif | Icona del modulo visualizzata nel back-office (Prestashop 1.4). |
/css | Cartella per la memorizzazione dei file CSS. |
/css/style.css | File CSS utilizzato dal modulo. |
views | Cartella per i file relativi al template del modulo. |
views/templates | Sottocartella che conterrà a sua volta le sottocartelle relative alle sezioni che utilizzeranno i file templte: admin , front e hook . |
views/templates/hook | La sezione che utilizzerà il file per il template. |
views/templates/hook/left.tpl | Il file .tpl per il template. |
Creazione del costruttore
Per la creazione del costruttore bisognerà aprire il file denominato sample.php
ed editarlo aggiungendo il codice seguente:
<?php
if (!defined('_PS_VERSION_'))
exit;
class Sample extends Module {
public function __construct() {
/* Attributi */
$this->name = 'sample';
$this->tab = 'content_management';
$this->version = 1.0;
$this->author = 'pierg';
/* fine Attributi */
$this->bootstrap = true;
parent::__construct(); // chiamata del costruttore parent
$this->displayName = $this->l('SAMPLE'); // stringa di testo, passate al metodo di traduzione di Prestashop
$this->description = $this->l('Modulo esempio nuovo box colonna sinistra'); // stringa di testo, passate al metodo di traduzione di Prestashop
$this->confirmUninstall = $this->l('Sei sicuro?'); // messaggio di conferma per l'eliminazione del modulo visualizzato dall'amministratore
/* inclusione della classe sampleClass.php */
$path = dirname(__FILE__);
if (strpos(__FILE__, 'Module.php') !== false)
$path .= '/../modules/'.$this->name;
include_once $path.'/sampleClass.php';
}
}
?>
Il costruttore del nostro modulo Sample
fornirà tutte le informazioni necessarie sul nostro plugin per Prestashop. A questo proposito la prima riga controlla che _PS_VERSION_
sia stato definito, questo al fine di impedire di accedere al nostro file tramite chiamata diretta all'URL http://www.site.com/modules/sample/sample.php
. Si ha poi la creazione della classe Sample
che, come anticipato, è fondamentale che abbia lo stesso nome del nostro file principale. Tale classe sarà un'estensione della classe Module
di Prestashop la quale fornirà tutte le funzionalità native per i moduli.
Le proprietà del plugin vengono poi specificate attraverso degli appositi attributi:
Attributo | Descrizione |
---|---|
name | Il nome del modulo. |
tab | La Categoria associata al modulo. Questa voce smista i diversi moduli tra le diverse categorie all'interno dell'apposita sezione presente nel back-office. |
version | Versione del modulo (voce visualizzata nella lista dei moduli Prestashop). |
author | Autore del modulo (voce visualizzata nella lista dei moduli Prestashop). |
bootstrap | Modalità Responsive. Questo attributo gestisce l'innovazione del back-office introdotta con la versione 1.6. Il pannello di gestione è infatti responsive e utilizzabile attraverso i dispositivi mobile. Tale voce attiva questa modalità. |
Una volta definita la struttura dei file del plugin d'esempio e il costruttore del modulo si potrà passare alla creazione dei metodi per l'installazione e la disinstallazione di questa estensione.