使用相同的变量两次加载同一视图

问题描述 投票:0回答:1

使用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,并且效果很好,但是我想了解为什么我不能使用不同的变量来拥有相同的视图。

php codeigniter view controller
1个回答
0
投票

希望我已经从您提供的内容中了解了您的布局。

这是我对您可能拥有的有效方法的看法。

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>

所以它很好用。

这是您要尝试做的吗?

© www.soinside.com 2019 - 2024. All rights reserved.