Sostieni opencart - usa i banner
view counter

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è:

  • Model: sono i metodi per accedere ai dati (ad esempio le caratteristiche di un prodotto: prezzo, immagine etc..)
  • Controller: accede ai dati forniti dal Model e li rende disponibili al View
  • View: visualizza i dati forniti dal controller

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:

  • Model: file catalog/model/localisation/currency.php
  • Controller: file catalog/controller/module/currency.php
  • View: file catalog/view/theme/default/template/module/currency.tpl

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.

Navigazione

Chi è on-line

Ci sono attualmente 0 utenti e 1 visitatore collegati.

Aiuta a sostenere opencart Italia

sostieni opencart