2012-02-28 13 views
10

Voglio creare una pagina personalizzata in opencart.opencart php pagina personalizzata senza utilizzare la funzione "informazioni"

So che posso inserire una pagina personalizzata nella sezione informazioni utilizzando l'area di amministrazione, tuttavia quello che vorrei è un controller che punta a poche altre pagine.

Non capisco perfettamente come farlo.

In codeigniter si crea un controller e una vista e, se necessario, si impostano alcune regole nel file dei percorsi ma non riesco a vedere nulla di simile.

Qualcuno mi dispiacerebbe spiegare o indicarmi alcune istruzioni su come farlo per favore.

si

risposta

17

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

+0

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? –

+1

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 –

0

seguire questa pagina spero più utilizzare pieno.

http://code.tutsplus.com/tutorials/create-a-custom-page-in-opencart--cms-22054

OpenCart è costruito utilizzando il popolare programmazione MVC modello. C'è anche un altro elemento aggiunto a questo modello chiamato "L" - una parte del linguaggio - quindi è chiamato pattern MVC-L in OpenCart. Non entrerò nei dettagli del pattern MVC poiché è un pattern di design molto popolare e familiare e lo abbiamo trattato in modo dettagliato in altri tutorial.

Problemi correlati