2011-09-25 4 views
5

Je ne fais que commencer par Codeigniter. J'ai créé un contrôleur simple appelé home.php et une vue appelée home_view.php. Cela fonctionne bien. Maintenant, je voudrais finalement que ce site que je construis pour avoir une section d'administration en plus de la version www publique. Donc, je réorganisé ma structure de fichier comme ceci:Comment utiliser les dossiers dans Codeigniter?

controllers: 

www 
- home.php 
admin 

Views: 

www 
- home_view.php 
admin 

Finalement, je vais mettre les contrôleurs liés à l'administration et des vues dans leurs répertoires respectifs. Mais après avoir déplacé mes fichiers comme ça, ils ne fonctionnent plus. Je pense que j'ai besoin de changer quelque chose dans les routes ou le fichier de configuration. Qu'est-ce que je dois faire?

Répondre

2

Pour les vues que vous avez juste besoin d'ajouter le nom du dossier au début de la vue comme:

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

Vous aurez probablement besoin de refaire le routage pour les contrôleurs, de sorte que les dossiers supplémentaires sont comptabilisés. Cela peut se faire avec quelque chose comme ce qui suit:

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

Cela utilisera le contrôleur (1 $) et la fonction (2 $) dans le dossier admin si l'URL est www.example.com/index.php/admin/ [controller]/[function]

pour les contrôleurs dans le dossier admin;

et mettre à jour le contrôleur par défaut comme ceci:

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

merci, a très bien fonctionné. Je devais utiliser www.example.com/index.php/admin/[controller]/[function] –

+0

désolé à ce sujet, si vous faites une réécriture des URL, vous pouvez vous débarrasser de l'index.php, il y a beaucoup de tutoriels sur la façon de le faire –

Questions connexes