Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 2 di 5
  • livello avanzato
Indice lezioni

Struttura di un plugin per Prestashop

Analizziamo nel dettaglio la struttura di un plugin per Prestashop, scopriamo le diverse componenti partendo dalla descrizione del pattern MVC (Model View Controller), uno schema architetturale sulla base del quale è stato realizzato il noto CMS per il commercio elettronico.
Analizziamo nel dettaglio la struttura di un plugin per Prestashop, scopriamo le diverse componenti partendo dalla descrizione del pattern MVC (Model View Controller), uno schema architetturale sulla base del quale è stato realizzato il noto CMS per il commercio elettronico.
Link copiato negli appunti

Il pattern MVC

Prestashop basa la sua struttura architetturale sul modello MVC (Model View Controller); i moduli utilizzano la stessa struttura. Questa soluzione progettuale, permette di separare la logica di presentazione dalla logica applicativa. Tale pattern, molto diffuso negli ultimi anni, rappresenta uno degli schemi progettuali più affermati proprio per la netta separazione tra le viste dell’interfaccia e le logiche usate per la modifica dei dati.

Nello specifico, l'architettura MVC si basa sostanzialmente su tre componenti:

  • Model: gestisce la logica dell'applicazione che comprende l'elaborazione e l'accesso ai dati (database, file, etc.). Contiene per esempio i metodi per recuperare, inserire, eliminare e aggiornare le informazioni delle tabelle del database.
  • View: si occupa della visualizzazione dei dati dell’applicazione all'utente. Infatti il suo compito è quello di generare l'output.
  • Controller: gestisce le richieste da parte dell'utente e le azioni che devono essere intraprese sul Model.

File e cartelle di un plugin per Prestashop

Ogni modulo è composto da una serie di file e cartelle e deve essere posizionato nella directory modules presente nella radice di Prestashop (modules/nome_modulo). I file necessari per un modulo di base sono, nell'ordine, il file principale, i files ico e il file di configurazione (config.xml). Quest'ultimo è creato in fase di installazione dallo stesso e-commerce engine.

Il file principale, o file di bootstrap, si occuperà del caricamento e della gestione del modulo. Il nome di questo file deve essere uguale al nome del modulo e, come per il plugin, non dovrà presentare spazi o caratteri speciali e dovrà essere espresso completamente in minuscolo. I files ico permetteranno invece di associare un'icona al modulo nel backoffice.

La cartella denominata Controllers contiene a sua volta 2 sotto-cartelle chiamate Front e Admin.

  • Front: presenta i controllers necessari per la componente frontend del modulo.
  • Admin: raccoglie i controllers necessari per la sezione di amministrazione.

La cartella Models, contiene la classe associata con il controller di amministrazione e, se necessario, tutte le altre classi. Utilizzando la struttura MVC per il modulo, e posta la classe nella cartella Models, è necessario includere tale classe nella classe principale del plugin.

La cartella Views, contiene i file template e contiene una sottocartella denominata Templates. A sua volta, questa sottocartella, in base alla sezione che utilizzerà i file template, può contenere 3 sottocartelle: admin, front e hook.

Solitamente un modulo di Prestashop non contiene solo file .php, ma anche file .js, .css ed immagini. Questi file, utilizzati sia nel frontend che nel backend del sito, sono memorizzati nelle relative cartelle.

Il ruolo dei file e delle cartelle di un plugin

Di seguito l'elenco dei file e delle cartelle che compongono un modulo di Prestashop.

File / Cartella Dettagli
nome-modulo.php File principale.
/img Cartella per i file immagine.
/controllers Contiene i file controller. Può contenere 2 sottocartelle front e admin.
/css Cartella per i file CSS.
/js Cartella per i file JavaScript.
/view Cartella per i file relativi al template del modulo (.tpl):

  • /view/template
  • /view/template/admin: sottocartella per i file template utilizzati dal controller lato pannello di amministrazione;
  • /view/template/front: sottocartella per i file template utilizzati dal controller lato front-office.
  • /view/template/hook: sottocartella per i file template utilizzati dai vari hook del sito.
/override Permette di sovrascrivere funzionalità native di Prestashop. Metodologia consigliata in caso di futuri aggiornamenti del framework.
/upgrade Cartella per gli aggiornamenti del modulo.
/themes/nome_del_tema/modules Permette di sovrascrivere funzionalità di un modulo esistente senza intaccare i file originali.
/translations Contiene una sottocartella per ogni lingua disponibile ("it", "en", etc.), contenenti a loro volta, le traduzioni del modulo.
config.xml File di configurazione creato automaticamente da Prestashop durante l'installazione del modulo.
logo.png Icona del modulo visualizzata nel backoffice.

Una volta analizzata nel dettaglio la struttura dei moduli di Prestashop, si potrà passare alla procedura necessaria per la creazione di un primo plugin.

Ti consigliamo anche