2016-11-27 53 views
1

我在codeigniter中使用層次結構MVC模型。我創建了一個名爲template的控制器,裏面有一個名爲sample_template的函數。然後創建一個名爲sample_template_v的視圖,並在模板控制器中調用它。我創建了另一個名爲Admin的控制器,並稱爲Template-> sample_template($ data);在其2個功能中。爲什麼我的代碼結束:調用null的成員函數sample_template()

MY_Controlle.php

<?php 

class MY_Controller extends MX_Controller 

{ 

    function __construct() 
    { 
     parent::__construct(); 

     $this->load->module('Template'); 
    } 
} 

admin.php的

<?php 

class Admin extends MY_Controller 

{ 

    function __construct() 

    { 
     parent::__construct(); 
    } 

    function index() 
    { 

     $data['content_view'] = 'admin/admin_v'; 
     $this->Template->sample_template($data); 

    } 

    function about() 
    { 
     $data['content_view'] = 'admin/about_v'; 
     $this->Template->sample_template($data); 
    } 

} 

的template.php

<?php 

class Template extends MY_Controller 

{ 

    function __construct() 
    { 
     parent::__construct(); 
    } 

    function sample_template($data = NULL) 
    { 
     $this->load->view('Template/sample_template_v', $data); 
    } 
} 

sample_template_v.php文件---->

<h5>This is the main Template.</h5> 


<?php $this->load->view($content_view); ?> 

錯誤:

enter image description here

回答

0

如果你想打電話給你需要從initiaze的對象,然後調用一個方法的對象的方法。確保$this->template is set你的情況不是這樣。

$this->template = new Template(); 

    $this->template->sample_template($data); 
+0

謝謝。我設法解決它。在admin.php中,我使用了:$ this-> template-> sample_template($ data); –

相關問題