Personalizzare OpenCart fornerndo nuove funzioni o modificando il comportamento di quelle esistenti è un’attività in cui bisogna di fatto fare reverse engineering del codice sorgente ed instillare il proprio codice all’interno di quello originale.
Ciò può suonare strano ad uno sviluppatore esperto per via del fatto che molti CMS o applicazioni web presentano allo sviluppatore le proprie API chiamate spesso hook che permettono di modificare il comportamente del software originale senza alternarne il codice sorgente di core.
Sviluppare moduli per OpenCart
Come dicevamo per sviluppare un modulo per il prodotto E-Commerce OpenCart che modifichi alcune funzioni principali , ad esempio le azioni da fare dopo un ordine, oppure i comportamenti durante la scelta di un pagamento e della spedizione, occorre modificare funzioni di core del prodotto originale mettendo quindi mano al codice sorgente.
Vqmod per OpenCart
Modificare il codice sorgente originale non è una grande soluzione perchè ad ogni aggiornamento del prodotto perderemmo le modiche da noi fatte ed inoltre il modulo non sarebbe facilmente distribuibile.
Sopperisce a questi difetti il prodotto Vqmod, un sistema per l’override dei file attraverso l’utilizzo di XML. vQmod , di fatto ed alla data in cui scriviamo, è utilizzato solo nel contesto OpenCart. In sostanta, invece di effettuare cambiamenti ai file di core direttamente, tali cambiamenti vengono definiti all’interno di file XML esterni come ricercareo rimpiazzo di code sorgente.
Il risultato è un’esecuzione dei file di core con le modifiche virtuali fornite dai file XML ma senza effettivi cambi di codice originale.
Gli hook
In OperCart non esiste un sistema di hook come quello presente in WordPress, e dobbiamo accontentarci di utilizzare vQmod per modificare il comportamento nativo ed aggiungere funzionalità.