2013-02-25 2 views
1

Я использую HMVC с CodeIgniter.Переменная от контроллера не отправляется для просмотра в CodeIgniter

У меня есть это в моем testmodule контроллер:

public function index() 
{ 
    $this->view_data['main_content'] = 'frontpage'; 
    $this->load->view('template', $this->view_data); 
} 

И это, на мой взгляд template.php этого контроллера, который загружается этим контроллером:

<?php 

     $this->load->view('includes/header'); 

     $this->load->view($main_content); 

     $this->load->view('includes/footer'); 

    ?> 

, но, когда я var_dump ($ main_content) в представлении и die() отображается null вместо страница

Как, приходите? Я этого не понимаю.

+0

Я не вещь, что нет ничего плохого с этим кодом. Проблема должна быть где-то в другом месте. – Mischa

+0

Я решил это, указав $ this-> view_data на $ view_data, и он внезапно работает. Однако я понятия не имею, почему. Ты знаешь почему? – Derfder

ответ

1

Если вы хотите использовать $this->view_data вы должны объявить $view_data как property первых (в верхней части контроллера):

class TestModule extends CI_Controller 
{ 
    public $view_data = array(); 

    public function index() 
    { 
    // Now you can use $this->view_data in this function: 
    $this->view_data['main_content'] = 'frontpage'; 
    $this->load->view('template', $this->view_data); 
    } 
} 
+0

Большое спасибо, теперь это работает; – Derfder

+0

Нет проблем. Рад, что он работает сейчас. – Mischa

Смежные вопросы