用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2683|回复: 4
收起左侧

[已解决] 视图中动态内容引用的问题

[复制链接]
发表于 2010-10-6 13:36:58 | 显示全部楼层 |阅读模式
PHP复制代码
 
<?php $this->load->view('header'); ?>
 
<?php $this->load->view($main_content); ?>
 
<?php $this->load->view('footer'); ?>
 
复制代码

我的template.php是这样写的.要是控制header的内容应该怎么办啊?
也就是说header里面的动态内容在哪写呢?
是新建一个header的控制器.还是直接在index控制器里面直接写呢?
发表于 2010-10-6 14:19:31 | 显示全部楼层
你说header里面的动态内容是指什么?

你所贴的代码,实际上只是将它们逻辑上分成了3个区域,具体操作和对单一视图操作相同。

如果是一些meta信息,你可以将“动态内容”直接写在控制器里面然后在试图中操作,当然也可以使用HMVC方式动态的调用某个控制器或者模块返回内容(在你不了解HMVC机制的情况下,不推荐使用)。

一个HMVC拓展:
http://bitbucket.org/wiredesignz ... lar-extensions-hmvc

hex写的HMVC拓展:
http://codeigniter.org.cn/forums ... p;extra=&page=1

不知道解答你的问题没有,如果没有请将你的问题描述清楚。

PS:我已经修改你的帖子标题。
 楼主| 发表于 2010-10-6 14:41:17 | 显示全部楼层
header里面是文章分类的一个导航.如果按我这样写,在哪加载他呢?不是要经过控制器把他查出来么?
我是想访问页面的时候自动把header和footer加载出来.
发表于 2010-10-6 14:50:18 | 显示全部楼层
有两种方案:

第一种:写一个生成导航栏的library,将这个library autoload或者写在公共Controller里面,直接在你的header中使用 $this->libray->gen_menu();调用。

第二种:使用我上面回复过的HMVC,但请务必在了解清楚HMVC的原理和作用之后再使用。

这里有个HMVC的介绍,我觉得比较容易理解:

http://bitbucket.org/wiredesignz ... ions-hmvc/wiki/Home

请看里面的FAQ部分。
发表于 2010-10-7 22:25:19 | 显示全部楼层
上次我想这样操作的.在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/');?>

本版积分规则