Thank E 'abbastanza semplice da fare per essere onesti. È necessario creare un controller per il file, denominandolo in base alla cartella e al nome file. Per esempio common/home.php
ha
Class ControllerCommonHome extends Controller
Questo si accede utilizzando index.php?route=common/home
e accede al metodo index()
. Se si desidera chiamare un altro metodo, per esempio foo, si avrebbe bisogno di definire il metodo come
public function foo() {
// Code here
}
e chiamereste usando index.php? Itinerario = comune/home/pippo
Per quanto riguarda il rendering la vista è un po 'più complicata. Fondamentalmente è necessario aggiungere tutto questo alla fine del tuo metodo di controllo
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/new_template_file.tpl')) {
$this->template = $this->config->get('config_template') . '/template/common/new_template_file.tpl';
} else {
$this->template = 'default/template/common/new_template_file.tpl';
}
$this->children = array(
'common/column_left',
'common/column_right',
'common/content_top',
'common/content_bottom',
'common/footer',
'common/header'
);
$this->response->setOutput($this->render());
che renderà /catalog/view/theme/your-theme-name/template/common/new_template_file.tpl
Se questo file non esiste, tenterà di utilizzare lo stesso percorso nella cartella default
tema
vi consiglio di dare un'occhiata a un paio di controller e modelli per ottenere la testa intorno in cui tutto proviene correttamente, ma questa è la sostanza di base di come funziona
fonte
2012-02-28 22:47:53
Potrebbe esserci qualcosa che manca qui, ma non sono sicuro di cosa. I file standard hanno questa struttura, ma forse c'è un posto dove nuove estensioni o qualunque cosa debba essere registrata? –
se stai creando pagine completamente nuove, quindi non è necessario che esse siano registrate. Se sono moduli, il principio di base è lo stesso, ma i moduli devono essere installati nell'amministratore e impostati su abilitati con le loro posizioni ecc –