使用CodeIgniter框架,我试图加载两个相同但具有不同数据变量的视图。
代码:
Controller:
$data['content'] = $this->load->view('myview', $data_view, TRUE)
$this->load->view('template', $data);
template.php
视图中的某处,然后输出$content
变量:
$this->load->view('custom_menu', array('select' => FALSE));
在myview.php
视图中:
$this->load->view('custom_menu', array('select' => TRUE));
问题:两个custom_menu
视图都加载与上一次视图加载相同的变量,例如。 $select = TRUE
我已经尝试制作第二个custom_menu,并且效果很好,但是我想了解为什么我不能使用不同的变量来拥有相同的视图。
希望我已经从您提供的内容中了解了您的布局。
这是我对您可能拥有的有效方法的看法。
Controller-main.php
public function index() {
$data_view['content'] = "<h3>This is content</h3>";
$data['content'] = $this->load->view('myview', $data_view, TRUE);
$this->load->view('template', $data);
}
View-template.php
<h1>My Template</h1>
<?php
$this->load->view('custom_menu', array('select' => FALSE));
?>
<?= $content; ?>
View-myview.php
<?php
$this->load->view('custom_menu', array('select' => TRUE));
echo $content;
视图-custom_menu.php
<?php if ($select):?>
<h2>Menu 1 - When Select is TRUE</h2>
<?php else: ?>
<h2>Menu 2 - When Select is FALSE</h2>
<?php endif;?>
这将导致HTML输出(来自浏览器)的...
<h1>My Template</h1>
<h2>Menu 2 - When Select is FALSE</h2>
<h2>Menu 1 - When Select is TRUE</h2>
<h3>This is content</h3>
所以它很好用。
这是您要尝试做的吗?