视图中动态内容引用的问题
<?php $this->load->view('header'); ?>
<?php $this->load->view($main_content); ?>
<?php $this->load->view('footer'); ?>
我的template.php是这样写的.要是控制header的内容应该怎么办啊?
也就是说header里面的动态内容在哪写呢?
是新建一个header的控制器.还是直接在index控制器里面直接写呢? 你说header里面的动态内容是指什么?
你所贴的代码,实际上只是将它们逻辑上分成了3个区域,具体操作和对单一视图操作相同。
如果是一些meta信息,你可以将“动态内容”直接写在控制器里面然后在试图中操作,当然也可以使用HMVC方式动态的调用某个控制器或者模块返回内容(在你不了解HMVC机制的情况下,不推荐使用)。
一个HMVC拓展:
http://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc
hex写的HMVC拓展:
http://codeigniter.org.cn/forums/viewthread.php?tid=1319&extra=&page=1
不知道解答你的问题没有,如果没有请将你的问题描述清楚。
PS:我已经修改你的帖子标题。 header里面是文章分类的一个导航.如果按我这样写,在哪加载他呢?不是要经过控制器把他查出来么?
我是想访问页面的时候自动把header和footer加载出来. 有两种方案:
第一种:写一个生成导航栏的library,将这个library autoload或者写在公共Controller里面,直接在你的header中使用 $this->libray->gen_menu();调用。
第二种:使用我上面回复过的HMVC,但请务必在了解清楚HMVC的原理和作用之后再使用。
这里有个HMVC的介绍,我觉得比较容易理解:
http://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/wiki/Home
请看里面的FAQ部分。 上次我想这样操作的.在view文件里,直接能返回另外一个action执行后的结果...
类似于
<?php $this->load->render_action('comm/header/');?>
<?php $this->load->view($main_content); ?>
<?php $this->load->render_action('comm/footer/');?>
我想到的一个方式是通过http request呵呵太那个什么了...
像这样:
<?php echo file_get_contents(base_url().'comm/header/');?>
<?php $this->load->view($main_content); ?>
<?php echo file_get_contents(base_url().'comm/footer/');?>
页:
[1]