目前我遇到了一个问题,我有两种方法和两种视图。正如 MVC 模式所期望的那样,每个方法都将其 Db 数据传递给视图。
出现我的问题是因为我希望其中一个视图是局部的,它包含在另一个视图中。
所以它看起来像这样:
- 第一个视图 - 即表单
- 第二种视图 - 表单片段,即城市列表
我希望第二个视图是它自己的唯一文件,我怎样才能将它包含在第一个表单中,在文件的任何位置?
** 必须编辑,因为我第一次弄错了。只有一个控制器,有两种方法将数据传递给两个视图。
目前我遇到了一个问题,我有两种方法和两种视图。正如 MVC 模式所期望的那样,每个方法都将其 Db 数据传递给视图。
出现我的问题是因为我希望其中一个视图是局部的,它包含在另一个视图中。
所以它看起来像这样:
我希望第二个视图是它自己的唯一文件,我怎样才能将它包含在第一个表单中,在文件的任何位置?
** 必须编辑,因为我第一次弄错了。只有一个控制器,有两种方法将数据传递给两个视图。
我不知道我是否理解正确,但 CodeIgniter 能够将视图作为数据返回。在控制器中,它看起来像这样:
$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 加载数据的逻辑可以提取到模型中。
希望这可以帮助!
您可以像这样包含负载:
view_one.php
<html>
<head></head>
<body>
<h1>View 1</h1>
<?php echo $this->load->view('view_two'); ?>
</body>
</html>