Codeigniter navigation dynamique
Je suis un newbie avec codeigniter. Je suis en train d'écrire une application à l'aide de bases de données mysql.
Dans mon site je veux utiliser le menu comme :
+Homepage
+About
+Services
+Education services
+neurofeedback
+biofeedback
J'ai besoin de quelques informations pour comprendre. J'utilise des pages de contrôleur principal contrôleur pages:
<?php
class Pages extends CI_Controller {
public function view($page = 'home')
{$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
mes questions sont :
1) lorsque le menu du contrôleur doit être codée à l'intérieur des pages du contrôleur ou de séparer une?
2) comment puis-je faire le menu du contrôleur de base de données ?
3) Comment puis-je faire, en relation avec l'id de menu et l'id de la page?
J'ai fait beaucoup de recherche mais j'ai besoin d'un peu plus de compréhension .
Merci pour votre aide.
Edit :
J'ai utilisé MY_Controller comme vous le dites .
C'est mon contrôleur pages :
class Home extends MY_Controller {
function __construct() {
parent::__construct();
}
public function view($page = 'home')
{
$this->load->helper('text');
$data['records']= $this->services_model->getAll();
if ( ! file_exists('application/views/pages/'.$page.'.php'))
{
//Whoops, we don't have a page for that!
show_404();
}
$data['title'] = ucfirst($page); //Capitalize the first letter
$this->load->view('pages/'.$page, $data);
}
}
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez un modèle qui doit être suivi par toutes les pages, je vous suggère de le faire.
1. Créer un contrôleur de base
Dans l' ./application/core/dossier, créez un fichier appelé MY_Controller
2. Créer un contrôleur à chaque page et l'utilisation de MY_Controller au lieu de CI_Controller
Bien, vous n'aurez pas un contrôleur pour le menu, mais une vue à la place.
Possibilités pour le menu
render_page()
;render_page()
;Exemple de modèle de menu (ajuster en fonction de votre scénario):
./application/views/templates/menu.php
modifier
Donné votre Maison contrôleur, je pense que l'erreur est dans votre file_exists vérifier. Voir la Maison de contrôleur que j'ai changer: