Creare un modulo Prestashop: i consigli degli sviluppatori
Come implementare un modulo per PrestaShop
Qualche settimana fa ti abbiamo parlato dell’importanza di avere un motore di ricerca interno al sito,
indispensabile per permettere agli utenti di trovare ciò che cercano.
Oggi ci concentriamo invece, sulla struttura dei moduli PrestaShop.
Utilizzando il CMS PrestaShop è possibile personalizzare il proprio ecommerce con moduli ed estensioni che permettono di accrescere le funzionalità del sito rendendolo facile da utilizzare per gli utenti ma soprattutto, performante per i merchant.
Più semplice e intuitivo sarà, più attirerà i clienti ad acquistare.
Il nostro team tecnico specializzato PrestaShop ha sviluppato nell’ultimo anno due moduli e cura ogni giorno il supporto, le richieste e le implementazioni per ottenere sempre maggiori funzionalità.
Ma come creare un modulo Prestashop? Oggi Francesco e Christian, due nostri developer, risponderanno ad alcune domande che spesso ci vengono fatte dai clienti che vogliono personalizzare il proprio ecommerce PrestaShop.
Modulo PrestaShop: cos’è, i vantaggi e come si crea
- Che cos’è un modulo? Un modulo è un’estensione che aggiunge e amplia le funzionalità di PrestaShop. Possiamo considerarlo come un “piccolo programma” che modifica le funzionalità di PrestaShop o ne aggiunge di nuove per rendere il sito più facile da usare o per soddisfare nuove esigenze dei merchant. I moduli possono essere catalogati in base alla loro applicazione:
- Personalizzazioni della Pagina Prodotto
- Navigazione & Design
- Promotions & Marketing
- Traffico & Marketplace
- Pagamenti
- Spedizioni & Logistica
- Amministrazione
- Gestione Clienti
- Facebook & Social network
- Piattaforme speciali.
- Come si crea un modulo? Ci sono differenti fasi per arrivare alla pubblicazione. Si inizia con un’analisi di fattibilità nella quale si approfondisce qual è strada migliore da percorrere per conseguire l’obiettivo, poi si procede con lo sviluppo. Si continua implementando il plugin e in ultimo si eseguono dei test, controllando che tutte le funzionalità del modulo vengano eseguite correttamente. Infine quando il modulo è corretto e funzionante si procede alla pubblicazione rendendolo disponibile agli utenti.
- Quali sono i vantaggi dell’utilizzo di un modulo per il venditore? Un modulo permette di aggiungere o modificare le funzionalità a Prestashop senza alterare il codice nativo, un enorme vantaggio in quanto in caso di aggiornamento della piattaforma non si perdono le modifiche fatte manualmente.
I moduli inoltre possono essere installati su più istanze Prestashop, personalizzando così più siti in pochi passaggi.
Vediamo ora nel dettaglio come si sviluppa un modulo PrestaShop con i consigli di Francesco.
Moduli PrestaShop: programmazione e regole da seguire
- Su quale tecnologia si basano i moduli? I moduli sono sviluppati con la stessa tecnologia con cui è creato Prestashop ovvero il PHP. Questo linguaggio viene utilizzato per le elaborazioni, la manipolazione dei dati o per le procedure lato server, mentre si utilizzano dei motori di template per gestire la visualizzazione e la presentazione dei dati. Ad oggi Prestashop nella sua ultima versione 1.7.x utilizza due motori di template perchè si trova in una fase di transizione: supporta ancora le vecchie pagine basate su Smarty e può gestire i nuovi template basati su Twig.
- Quali linguaggi vengono utilizzati? Nel codice di un modulo spesso è necessario utilizzare anche altri linguaggi:
- SQL, nel caso in cui si deve accedere direttamente alla base dati di Prestashop (MySQL)
- componenti di terze parti in PHP, per aggiungere funzionalità diverse a Prestashop come ad esempio la creazione di file pdf o chiamate verso portali esterni e API
- HMTL, JavaScript e CSS che vengono generati se il modulo contiene anche una parte di visualizzazione.
- Quali sono le regole da seguire durante lo sviluppo? Le linee guida di Prestashop per gli sviluppatori sono tante e spesso sono molto ferree. I tool automatici di validazione del modulo, così come l’approvazione manuale da parte di utenti Prestashop, effettuano un controllo minuzioso di molti aspetti della scrittura del codice. Rispettando però le regole consigliate, diventa più facile creare codice mantenibile e integrabile con le funzioni native di Prestashop.
- Come funziona l’approvazione del modulo? Prestashop mette a disposizione degli sviluppatori un portale in cui si deve caricare il modulo appena sviluppato. A questo punto si avvia un periodo di approvazione durante il quale un tool automatico controlla la formattazione e analizza il codice scritto in cerca di possibili errori, poi alcuni utenti di Prestashop o sviluppatori certificati della community analizzano approfonditamente il codice del modulo segnalando se sono stati utilizzati metodi non consigliati (ad esempio se si modificano le tabelle native di Prestashop per aggiungere informazioni piuttosto che creare nuove tabelle apposite senza toccare quelle native). Infatti proprio per questi motivi spesso l’approvazione di un modulo richiede diversi giorni per raggiungere la validazione.
- Come funzionano la manutenzione e gli aggiornamenti di un modulo? Lo sviluppatore carica nel portale Addons le versioni aggiornate del modulo, in questo modo i nuovi clienti scaricheranno sempre l’ultima release. Chi ha già acquistato il modulo invece, se rientra ancora nella tempistica prevista dalla licenza o se acquista il pacchetto ZEN, potrà procedere con l’aggiornamento semplicemente scaricando la nuova versione ed avviando la procedura di upgrade direttamente dalla sezione “Moduli” del proprio pannello Prestashop. Ovviamente il modulo deve essere adeguatamente creato gestendo anche eventuali azioni specifiche necessarie al cambio di versione, esempio creazione degli script SQL per creare nuovi campi o tabelle aggiunte con l’aggiornamento.
Come scegliere un modulo PrestaShop
Spesso i nostri clienti in fase di acquisto, si ritrovano in difficoltà, non sapendo quale modulo scegliere. Christian ci ha dato alcuni consigli a riguardo.
- Come scegliere un modulo? Può succedere che la stessa necessità sia stata implementata da più moduli presenti nell’Addons di Prestashop. In questi casi è bene innanzitutto verificare quale sia il modulo che più si avvicina alla propria richiesta, che implementi il maggior numero di dettagli necessari. Questo è possibile analizzando le immagini, le descrizioni e le caratteristiche specifiche che lo sviluppatore ha pubblicato nell’Addons. Quando disponibili inoltre, è bene navigare nei siti demo. In ultimo, è molto importante valutare le recensioni e i voti lasciati da altri utenti sul modulo e sullo sviluppatore.
- Per quale motivo alcuni moduli influiscono negativamente sulle risorse del sito? Per sviluppare un modulo si devono adottare le stesse precauzioni che si prenderebbero per creare una applicazione web completa: ovvero bisogna tenere a mente che non si hanno a disposizione risorse infinite, bensì bisogna fare attenzione ad ottimizzare al massimo le procedure per fare in modo di non sovraccaricare l’utilizzo di RAM e CPU del server che ospita il sito, con conseguente rallentamento generale o addirittura blocco del sito. Se il modulo che viene implementato contiene delle inesattezze più o meno gravi, può rallentare, bloccare o anche generare degli errori sul caricamento di alcune pagine o l’esecuzione di alcune operazioni.
Il nostro consiglio, specialmente quando si sovrascrivono le procedure native, è quello di verificare che queste continuino a funzionare in qualunque parte della piattaforma siano utilizzate.
IndiGO e IndiGO Plus, i nostri moduli
In IMPRIMIS abbiamo sviluppato due moduli, IndiGO e IndiGO Plus pubblicati e certificati da Addons.
Sono nati dall’esigenza di risolvere la problematica di comunicazione tra Prestashop e il gestionale Fatture in Cloud, integrando al tempo stesso la fatturazione elettronica sul proprio ecommerce.
In conclusione, PrestaShop ti permette di estendere le funzionalità grazie ai suoi numerosi moduli, ma segui sempre i nostri consigli: scegli moduli che non incidono sulla velocità del tuo sito, prestando attenzione a qualità e sicurezza.