关于 CodeIgniter 中的视图

Posted

技术标签:

【中文标题】关于 CodeIgniter 中的视图【英文标题】:About views in CodeIgniter 【发布时间】:2014-01-14 12:01:18 【问题描述】:

我刚刚开始学习 CodeIgniter,我有一个名为 home.php 的控制器,我有两个名为 photo.php 和 body.php 的视图,我想在另一个中调用第一个视图。最后在 acceuil.php 上调用 body.php。

我该怎么做?

【问题讨论】:

你自己尝试过吗? 是的.. 我现在正在搜索.. 我在我的页面上做了一些 lignes .. 这就是为什么我要求你 .. 在执行代码之前确定 :) CodeIgniter 可以嵌套视图,因此您可以从另一个视图中加载视图,试试吧。如果您看到错误消息,没关系,您可以弄清楚如何修复它。 尝试通过为您的视图制作一个通用模板来做到这一点。在模板中添加页眉添加页脚,在两者之间您将动态更改代码。 但我有一些复合物作为 div 【参考方案1】:

在第一个视图页面中,即在 body.php 中,您只需编写

$this->load->view('photo.php');

【讨论】:

这类似于使用包含【参考方案2】:

你可以这样做

在您的第一个视图中 body.php

$ci =& get_instance();//you have to do this because you are in output library
$ci->load->view('photo.php');

【讨论】:

【参考方案3】:

你也可以像这样加载父视图并将子视图作为参数传递

$childview = $this->load->view('childview.php');
$this->load->view('parentview.php', array('childview' => $childview))

而在 parentview.php 中,您只需要回显变量 $childview。

【讨论】:

【参考方案4】:

在你的 body.php 视图中

$this->load->view($content);
Here you can put whatever bod content

在你的控制器中

$data['content']='views/photo.php';
$this->load->view('body.php',$data);

上述方法适用于复杂的视图结构,例如单独的页眉、页脚和正文文件。但您也可以这样做。

在你的 body.php 中

$this->load->view('photo.php');

然后在你的控制器中加载

$this->load->view('body.php');

【讨论】:

以上是关于关于 CodeIgniter 中的视图的主要内容,如果未能解决你的问题,请参考以下文章

CodeIgniter:将最后一个活动存储到数据库中

使用 codeigniter ci_marchant_Lib 库的 PayPal 定期付款

如何从 CodeIgniter 中的视图访问模型

从 codeigniter 中的视图调用模型是不是不好?

Query 数据库中的视图顺序和 codeigniter 中的视图顺序

如何从视图中调用 codeigniter 控制器功能