Подтвердить что ты не робот

Как загрузить представление в другое представление codeigniter 2.1?

Ive работает с CI, и я видел на веб-сайте CI вы можете загрузить представление как переменную часть данных, которые вы отправляете в "основное" представление, поэтому, согласно сайту (что говорит много чего, и многие не такие, как они говорят... ej pagination и другие), я сделал что-то вроде этого

$data['menu'] = $this->load->view('menu');
$this->load->view ('home',data);

результатом этого является то, что я получаю отголосок меню в верхней части сайта (до начала моего тела и всего), и где должно быть его ничто, например, если бы они были напечатаны перед всем... Я понятия не имею честно из этой проблемы, у кого-то была такая же проблема раньше?

4b9b3361

Ответ 1

Два способа сделать это:

  • Загрузите его заранее (как вы делаете) и перейдите к другому представлению

    <?php
    // the "TRUE" argument tells it to return the content, rather than display it immediately
    $data['menu'] = $this->load->view('menu', NULL, TRUE);
    $this->load->view ('home', $data);
    
  • Загрузите представление "изнутри":

    <?php
    // put this in the controller
    $this->load->view('home');
    
    // put this in /application/views/home.php
    $this->view('menu');
    echo 'Other home content';
    

Ответ 2

Создайте вспомогательную функцию

function loadView($view,$data = null){
    $CI = get_instance();
    return $CI->load->view($view,$data);
}

Загрузите помощника в контроллер, затем используйте функцию в вашем представлении, чтобы загрузить другую.

<?php 
...
    echo loadView('secondView',$data); // $data array
...
?>