MVC包含/部分(Codeigniter)

时间:2013-09-04 21:33:00

标签: forms codeigniter include views partial

我有一个问题,我有两种方法和两种观点。每个方法都将它的Db数据传递给视图,正如MVC模式所预期的那样。

我的问题出现了,因为我希望其中一个视图是部分视图,包含在另一个视图中。

所以它看起来像这样:

  • 第一个视图 - 即表格
  • 第二个视图 - 表单片段,即城市列表

我希望第二个视图是它自己的唯一文件,如何在第一个表单中,在文件中的任何位置包含它?

**必须编辑,因为我得到了第一个错误。只有一个控制器,有两种方法将数据传递给两个视图。

2 个答案:

答案 0 :(得分:1)

我不知道我是否理解正确,但CodeIgniter能够将视图作为数据返回。在Controller中它看起来像这样:

$data = array();
$data['partial'] = $this->load->view('partial_view', $data, true); // the 3rd parameter let's the view return as data
$this->load->view('whole_view', $data);

whole_view文件看起来像这样:

<html>
<head></head>
<body>
<h1>View 1</h1>
<?php echo $partial; ?>
</body>
</html>

加载partial_view数据的逻辑可以提取到模型中。

希望这有帮助!

答案 1 :(得分:0)

您可以像这样加载:

view_one.php

<html>
<head></head>
<body>
<h1>View 1</h1>
<?php echo $this->load->view('view_two'); ?>
</body>
</html>