2011-09-25 12 views
5

Sto appena iniziando con Codeigniter. Ho creato un semplice controller chiamato home.php e una vista chiamata home_view.php. Funziona bene Ora vorrei che questo sito che sto costruendo abbia una sezione di amministrazione oltre alla versione pubblica di www. Così ho riorganizzato la mia struttura del file in questo modo:Come utilizzare le cartelle in Codeigniter?

controllers: 

www 
- home.php 
admin 

Views: 

www 
- home_view.php 
admin 

Alla fine mi metterò i controllori legati admin e viste nelle rispettive directory. Ma dopo aver spostato i miei file in questo modo, non funzionano più. Penso di aver bisogno di cambiare qualcosa nei percorsi o nel file di configurazione. Cosa devo fare?

risposta

2

Per il punto di vista non vi resta che aggiungere il nome della cartella per l'inizio della vista come:

$this->load->view('www/home_view.php'); 

Si avrà probabilmente bisogno di rifare il percorso per i controllori, in modo che le cartelle aggiuntivi sono contabilizzate. Questo può essere fatto con qualcosa di simile a quanto segue:

$route['admin/(:any)/(:any)'] = 'admin/$1/$2'; 
$route['admin/(:any)'] = 'admin/$1/index'; 

Questo userà il controller ($ 1) e la funzione ($ 2) all'interno della cartella admin Se l'URL è www.example.com/index.php/admin/ [controller]/[funzione]

per i controller nella cartella di amministrazione;

e aggiornare il controller di default simili:

$route['default_controller'] = "www/home"; 
+0

grazie, funzionava bene. Ho dovuto usare www.example.com/index.php/admin/[controller]/[function] –

+0

scusa per il fatto che, se fai una riscrittura degli URL, puoi sbarazzarti di index.php, ci sono un sacco di tutorial su come farlo –

Problemi correlati