Сообщение: неопределенная переменная: content_view - PullRequest
0 голосов
/ 07 апреля 2019

Переменная, переданная в контроллер, не работает в представлении.

В моем контроллере у меня есть:

 public function index() 
 {   
     $login_data['content_view'] = 'login/login';       
     //echo $login_data['content_view']; die(); //display: login/login
     $this->load->module("template");
     $this->template->login_template($login_data);
  }

И на мой взгляд:

    $this->load->view('partial/header');
    $this->load->view($content_view); // not working
    //$this->load->view('login/login'); // working 
    $this->load->view('partial/footer');

Я получаю следующее сообщение об ошибке: Сообщение: неопределенная переменная: content_view

Ответы [ 3 ]

0 голосов
/ 07 апреля 2019

Я нашел проблему. Я впервые использую модульное расширение HMVC, и я забыл добавить переменную $ data в контроллер template.php следующим образом:

 public function login_template($data=Null) 
 {
    $this->load->view("template/login_template", $data);
 }

До того, как я использовал:

   public function login_template($data=Null) 
   {
      $this->load->view("template/login_template");
   }

Итак, еще раз спасибо

0 голосов
/ 08 апреля 2019

попробуйте это:

 $data = array();
 $this->template->login_template($login_data);
 $data['content_view'] = 'login/login';
 $this->load->view('header', $data);
0 голосов
/ 07 апреля 2019

Это не то, как вы загружаете представления (внутри представления)!

Представления загружаются внутри контроллера, который также поддерживает загрузку нескольких представлений.

Пример: вы загружаете статический заголовок иобщие шаблоны, затем вы загружаете конкретный контент, а затем, возможно, общий нижний колонтитул, как показано ниже:

<?php

class Page extends CI_Controller {

    public function index()
    {
            $data['page_title'] = 'Your title';
            $this->load->view('header');
            $this->load->view('menu');
            $this->load->view('content', $data);
            $this->load->view('footer');
    }

}

Вот как работает архитектура MVC.Кроме того, документация Codeigniter хорошо написана, см .: Представления - Codeigniter

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