Вы можете загрузить представления из файла представления.например, рассмотрим шаблон страницы общего назначения с именем page_template.php
:
<html>
<body>
<div id = "header">
<?php $this->load->view('header');?>
<?php $this->load->veiw('navigation');?>
</div>
<div id = "sidenav">
<?php $this->load->view('sidenav');?>
</div>
<div id = "content">
<?php echo $content;?>
</div>
<div id = "footer">
<?php $this->load->view('footer');?>
</body>
</html>
Загрузите более динамические области, используя функцию codeigniter для возврата представления в качестве переменной в вашем контроллере:
$template['content'] = $this->load->view('content',$data,TRUE);
$this->load->view('page_template',$template);
Передав TRUE в функцию загрузки, CI будет возвращать данные из представления, а не выводить их на экран.
Ваш раздел sidenav может быть собственным файлом представления, sidenav.php, где у вас есть ваш'блоки' жестко запрограммированы или загружены аналогично приведенному выше примеру.
Я сделал это обоими способами, включая каждый вонючий бит представлений в каждом методе контроллера, и с помощью шаблона страницы, который загружает вложенные представленияи динамические области, и, безусловно, второй метод делает меня счастливее.