Guide e tutorial

In questa sezione puoi trovare documenti utili per utilizzare al meglio Opencart e per personalizzarlo.
Hai realizzato una guida? Inviacela, la pubblicheremo qui.

Architettura di Opencart

Opencart, a partire dalla versione 1, è stato riscritto seguendo la metodologia MVC (Model-View-Controller), che consente di separare logicamente 3 aspetti della struttura, e cioè:

Ciascuno di questi componenti è inserito all'interno di 3 omonime cartelle, sia dentro catalog (negozio pubblico) sia dentro admin (amministrazione)

Facciamo un esempio pratico: vediamo come viene costruito il blocchetto delle selezione della valuta. I file coinvolti sono 3:

Il primo file (model) è una classe molto semplice, che esegue semplicemente una query al database per recuperare tutte le valute inserite

Il secondo file (controller) recupera i dati tramite la classe del file model:

$this->load->model('localisation/currency');
 
$this->data['currencies'] = $this->model_localisation_currency->getCurrencies();

ed effettua altre operazioni per impostare i dati da passare al view come ad esempio il titolo del blocchetto (la parte dopo l'uguale è un metodo che si occupa di tradurre nella lingua giusta il testo impostato nei file di lingua):

$this->data['heading_title'] = $this->language->get('heading_title');

Il terzo file (view) si occupa della visualizzazione dei dati ed è un file tpl (modello di template) contenente codice misto HTML/PHP con le variabili che vengono passate dal controller, ad esempio:

<div class="top" style="background: url('catalog/view/theme/default/image/icon_currency.png')
 8px 8px no-repeat; padding-left: 30px;"><?php echo $heading_title; ?></div>

che è la variabile impostata prima nel controller. Chiaramente fa riferimento anche a file CSS e JS ubicati nella cartella catalog/view/theme/default/

Questo sopra è un esempio che esemplifica il funzionamento e l'architettura di Opencart, tutto quanto è strutturato in questo modo, quindi una volta capito il meccanismo è facile trovare tutte le cose che ci interessano. Provate ad esempio a vedere come viene costruito il blocchetto delle lingue, molto simile a quello delle valute, oppure per avere un esempio più complesso provate a vedere  la scheda prodotto.

Duplicazione estensione spedizione

La duplicazione di un'estensione di spedizione può essere utile in molti casi. Vediamo come è possibile effettuarla. Di seguito faccio riferimento alla spedizione a costo fisso ma si può applicare il procedimento a tutti gli altri metodi.

Duplicazione parte admin

Nella parte di amministrazione bisogna duplicare il file del controller, il view ed i file di lingua.

  1. creare una copia del file admin/controller/shipping/flat.php chiamandolo ad esempio flat1.php
  2. aprire il file e sostituire tutte le occorrenze di "flat" con "flat1" (o col nome che avete dato al file se diverso), incluso il nome della classe (class ControllerShippingFlat1)
  3. creare una copia del file admin/view/template/shipping/flat.php chiamandolo ad esempio flat1.php (usare sempre lo stesso nome scelto all'inizio)
  4. aprire il file e sostituire tutte le occorrenze di "flat" con "flat1" (o col nome che avete dato al file se diverso)
  5. creare una copia del file admin/language/italian/shipping/flat.php chiamandolo ad esempio flat1.php (o col nome che avete dato al file se diverso)
  6. aprire il file e modificare il nome della spedizione

Duplicazione parte cliente

Nella parte lato client bisogna duplicare il file del model e di lingua

  1. creare una copia del file model/shipping/flat.php chiamandolo ad esempio flat1.php (o col nome che avete dato al file se diverso)
  2. aprire il file e sostituire tutte le occorrenze di "flat" con "flat1" (o col nome che avete dato al file se diverso), incluso il nome della classe (class ModelShippingFlat1)
  3. creare una copia del file catalog/language/italian/shipping/flat.php chiamandolo ad esempio flat1.php (o col nome che avete dato al file se diverso)
  4. aprire il file e modificare il nome della spedizione

Finito. E' disponibile nei downloads il pacchetto con questi file già modificati per la 1.3.2: http://www.opencart.it/content/duplicazione-metodo-spedizione-costo-fisso

Trasferimento di Opencart da server a server

Per trasferire Opencart da un server ad un altro, oppure da un computer locale ad un server remoto, si può procedere in due modi differenti

Primo metodo (per utenti più esperti)

Secondo metodo (per utenti meno esperti)