Загрузка одного и того же представления дважды с разными переменными - PullRequest
0 голосов
/ 22 октября 2019

Использование CodeIgniter Framework Я пытаюсь загрузить два представления, которые являются одинаковыми, но с разными переменными данных.

Код:

Контроллер :

$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, и это хорошо работает, но я хочу понять, почему у меня не может быть одного и того же представления с разными переменными.

1 Ответ

0 голосов
/ 22 октября 2019

Надеюсь, я понял ваш макет из того, что вы предоставили.

Это мое мнение о том, что у вас может получиться, что работает.

Контроллер - 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);
}

Просмотр - template.php

<h1>My Template</h1>
<?php
$this->load->view('custom_menu', array('select' => FALSE));
?>
<?= $content; ?>

Просмотр - 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>

Так что он работает просто отлично.

Это то, что вы пытаетесь сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...