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“包含”此导航的最佳实践方法是什么?
答案 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简要描述。