Oui.
Créez un fichier appelé template.php
votre views
le dossier.
Le contenu de template.php
:
$this->load->view('templates/header');
$this->load->view($v);
$this->load->view('templates/footer');
Puis, à partir de votre contrôleur, vous pouvez faire quelque chose comme:
$d['v'] = 'body';
$this->load->view('template', $d);
C'est effectivement une version simpliste de la façon dont j'ai personnellement en charge la totalité de mes points de vue. Si vous prenez cette idée à l'extrême, vous pouvez faire d'intéressantes mises en page modulaire:
Demandez-vous si vous créez une vue appelés initiator.php
qui contient la ligne:
$this->load->view('html');
Maintenant créer la vue html.php
le contenu de:
<!DOCTYPE html>
<html lang="en">
<? $this->load->view('head'); ?>
<? $this->load->view('body'); ?>
</html>
Maintenant créez un affichage en head.php
le contenu de:
<head>
<title><?= $title;?></title>
<base href="<?= site_url();?>">
<link rel="shortcut icon" href='favicon.ico'>
<script type='text/javascript'>//Put global scripts here...</script>
<!-- ETC ETC... DO A BUNCH OF OTHER <HEAD> STUFF... -->
</head>
Et un body.php
afficher le contenu de:
<body>
<div id="mainWrap">
<? $this->load->view('header'); ?>
<? //FINALLY LOAD THE VIEW!!! ?>
<? $this->load->view($v); ?>
<? $this->load->view('footer'); ?>
</div>
</body>
Et de créer header.php
et footer.php
vues appropriées.
Maintenant, lorsque vous appelez l'initiateur du contrôleur, le gros du travail est fait et votre point de vue sera appliqué à l'intérieur d' <html>
et <body>
tags, vos en-têtes et pieds de page sera chargée.
$d['v'] = 'fooview'
$this->load->view('initiator', $d);
Profitez et n'oubliez pas les enfants, Garder au SEC.