Codeigniter包含在视图中

时间:2013-01-11 16:19:54

标签: php codeigniter

CI的新手,请原谅这是否是一个进攻性的直接修复。

我有很多观点,我需要能够像这样包含相同的导航:

...
<div class="projectNav">
  <?php 
    echo anchor('projects/view/' . $project->intId, '<img src="'.base_url().'assets/img/icons/zoom.png" />'); 
    echo anchor('tasks?project=' . $project->intId . '&status=open', '<img src="'.base_url().'assets/img/icons/puzzle.png" />');
    echo anchor('projects/edit/' . $project->intId, '<img src="'.base_url().'assets/img/icons/edit.png" />');
    echo anchor('projects/charges/' . $project->intId, '<img src="'.base_url().'assets/img/icons/sterling_pound_currency_sign.png" />');
  ?>
</div>
...

显然,由于它是每个观点的标准,我不想重复自己。使用CI“包含”此导航的最佳实践方法是什么?

3 个答案:

答案 0 :(得分:8)

$this->load->view('nav');

将在应用程序内的views文件夹中加载nav.php。可以从控制器或视图运行此方法。

答案 1 :(得分:2)

你可以用两种方式做到(据我所知)

控制器中的

(如果你包含在控制器中,你应该按照你想要的方式加载相同的顺序。)

$this->load->view('nav')

在视图中

include('nav.php')

答案 2 :(得分:1)

看起来您正在寻找模板/布局系统。可以在http://daylerees.com/layout/找到CodeIgniter的一个实现。

如果您不想使用完整的布局引擎,可以添加display_override挂钩来操纵您的视图。这在http://maestric.com/doc/php/codeigniter_compress_html简要描述。