Je ne sais pas si cela vous aidera, mais c'est ainsi que j'ai fait mon système de gabarit le plus longtemps avant de passer à une méthode plus avancée.
Top Chef: vues/inc/top_head.php
<html>
<head>
<!-- all of your imports you want across all pages -->
Bottom Head: vues/inc/bottom_head.php
je le fais de cette façon que je puisse partager et ajouter des choses Javascript personnalisées et peut-être apporter des importations de cas spéciaux.
</head>
<body>
<div id="main_container">
<div id="navigation">
<?php
// DO YOUR NAVIGATION MAGIC HERE
if($is_logged_in) :
// BAM MAGIC DONE
else :
// No magic show here
endif;
?>
</div>
Pied de page: vues/inc/footer.php
C'est là que vous mettrez dans vos choses de bas de page, etc ....
</div>
</body>
Maintenant, nous sommes au point que nous devons réellement remplir le contenu dans le modèle
Index Page:/views/some_controller/index .php
<?php $this->load->view('inc/top_head.php'); ?>
<?php $this->load->view('inc/bottom_head.php;) ?>
<h1>Hello</h1>
<p>Some filler content and stuff I guess would go here...Of course</p>
<?php $this->load->view('inc/footer.php'); ?>
Donc là, nous avons un système de template rapide. Maintenant pour vous montrer ce que j'ai fait pour un contrôleur
<?php
class Some_Controller extends Controller {
public $page_data;
public function __construct() {
parent::__construct(); // Load parent constructor
// This is page data that we obviously don't want to keep retyping
$this->page_data = array(
'is_logged_in' => FALSE, // Obviously do some test here
'page_title' => 'Some Title'
);
}
public function index() {
$this->_load('some_controller/index');
}
/** Should think of a better name but meh */
private function _load($view) {
$this->load->view($view, $this->page_data);
}
}
J'espère que cela a aidé d'une manière ou d'une autre. Rappelez-vous ceci est une écriture rapide. Si je voulais vraiment que cela passe en production, j'aurais déplacé la fonction _load
dans une classe parente et l'ai étendue. Je voudrais également déplacer la variable page_data
avec elle.
ou une aide puisque les plugins sont obsolètes;) – AlienWebguy