我想将view
中来自逻辑语句的controller
加载到view
中。就像这样
控制器
public function index(){
$this->lib();
$this->view('main');
}
public function lib(){
if(TRUE){
// $this->view('something1') in $this->view('main')
}
else{
// $this->view('something2') in $this->view('main')
}
}
**查看**
<html>
<body>
<!-- view from $this->view('main') -->
<!-- want to show view from lib() -->
</body>
</html>
如何显示$this->view('something')
中lib()
的{{1}}收益?有什么想法吗?
答案 0 :(得分:1)
我找到的唯一可行的方法是:
控制器:
public function index() {
$data['internal_view'] = $this->load->view('stmt', [], true);
$this->load->view('main', $data);
}
“主”视图:
<html>
<body>
<?php echo $internal_view; ?>
</body>
</html>
注意:view
中的第3个参数允许视图以字符串形式返回,而不是自动输出到浏览器。由于此功能,您可以将视图分配为另一个函数的返回字符串,并使用它来生成internal_view
或您决定调用它的任何内容。
答案 1 :(得分:0)
您可以保留 main 视图,还可以保留 lib 条件视图,并将其传递给主控制器。
控制器:
public function index(){
$data['lib_view'] = $this->lib();
$this->view('main', $data);
}
public function lib(){
if(TRUE){
return $this->load->view('something1', true);
}
else{
return $this->load->view('something2', true);
}
}
“主”视图:
<html>
<body>
<!-- view from $this->view('main') -->
<?php echo $lib_view ?>
</body>
</html>