Fondamentalement pour ma webapp j'essaye de l'organiser un peu mieux. Comme il le moment, chaque fois que je veux charger une page, je dois le faire de mon contrôleur comme ceci:CodeIgniter/PHP - Appeler une vue à partir d'une vue
$this->load->view('subviews/template/headerview');
$this->load->view('subviews/template/menuview');
$this->load->view('The-View-I-Want-To-Load');
$this->load->view('subviews/template/sidebar');
$this->load->view('subviews/template/footerview');
Comme vous pouvez le dire que ce n'est pas vraiment très efficace.
Alors j'ai pensé que je créerais une vue «maître» - Ça s'appelle template.php. Ceci est le contenu de la vue du modèle:
<?php
$view = $data['view'];
$this->load->view('subviews/template/headerview');
$this->load->view('subviews/template/menuview');
$this->load->view($view);
$this->load->view('subviews/template/sidebar');
$this->load->view('subviews/template/footerview');
?>
Et puis je pensais que je serais capable de l'appeler d'un contrôleur comme ceci:
$data['view'] = 'homecontent';
$this->load->view('template',$data);
Malheureusement, je ne peux pas faire ce travail. Quelqu'un at-il des moyens de contourner cela ou des corrections que je peux mettre en place? J'ai essayé de mettre "" s et "s" autour de $ view dans template.php mais cela ne fait aucune différence. L'erreur habituelle est "Variable indéfinie: données" ou "Impossible de charger la vue: $ view.php" etc.
Merci à tous!
Jack
Merci, je vais essayer! Je rapporterai dans quelques minutes. – Jack
Merci beaucoup, cela fonctionne parfaitement! :) – Jack
Content de l'entendre – dd0x