вызвать другой контроллер с панели инструментов, используя страницы шаблона - PullRequest
0 голосов
/ 23 мая 2019

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

Контроллер панели приборов

class Dashboard extends CI_Controller{
    protected $data = array();
  function __construct()
  {
    parent::__construct();
    $this->data['pagetitle'] = 'Invoices Manager';
  }
  protected function render($the_view)
{
 $this->data['the_view'] = (is_null($the_view)) ? '' : $this->load->view($the_view,$this->data, TRUE);
 $this->load->view('templates/master_page', $this->data); 
}
    public function home() {
        // $this->load->view('templates/master_page', $this->data);
          $this->render( 'templates/homepage_view');
    }
    public function dashboard() {
        // $this->load->view('templates/master_page', $this->data);
          $this->render( 'dashboard/home');
    }
    public function purchaselist(){
         $this->render('purchase/index');
    }     
}

Контроллер покупки, работающий в одиночку

class Purchase extends CI_Controller{
     protected $data = array();
     protected $mydata = array();  
         function __Construct()
         {
              parent::__Construct ();
                 $this->load->database(); // load database
                 $this->load->model('Purchase_model'); // load model 
                 $this->mydata['purchase']=null;
         }
    public function index()
        {
                 $query = $this->Purchase_model->getPurchaselist();
                     if($query)
        {
            $mydata['purchase'] =  $query;
        }
            $this->load->view('purchase/index', $mydata);
          //  $this->render( 'purchase/index');
        }
}

когда я звоню dashboard/purchaselist, они говорят

Сообщение: неопределенная переменная: покупка

Имя файла: покупка / index.php

Номер строки: 17

следует загрузить таблицу базы данных внутри шаблона

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Пожалуйста, передайте null или пусто array при покупке, если $query пусто

public function index()
{
   $query = $this->Purchase_model->getPurchaselist();
   if(!empty($query)){
     $mydata['purchase'] =  $query;
   }else{
     $mydata['purchase'] =  array();
   }
   $this->load->view('purchase/index', $mydata);
   //  $this->render( 'purchase/index');
}
0 голосов
/ 23 мая 2019

попробуйте использовать dashboard / index.php / purchaselist или загрузите ваш модальный $this->load->model('Purchase_model'); как глобальный

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