0

継承されたデータを拡張コントローラーから codeigniter アプリケーションのビューに渡すのに苦労しています。

backend_controller とコントロール パネルのコードは次のとおりです。また、下のビューに私が行っていることも含めます。

ページをロードすると、未定義の変数 cms 名エラーが表示されます。私は、データを正しく正しく渡したという印象を受けました。

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Backend_Controller extends MY_Controller 
{
    public function __construct()
    {
        parent::__construct();
        $this->my_backend();
    }

    public function my_backend()
    { 
        $data['cms_name'] = $this->config->item('cms_name');
    }
}

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Control_panel extends Backend_Controller 
{
    /**
     * Loads models, configs, helpers.
     */
    public function __construct()
    {
         parent::__construct();
    }

    /**
     * Loads the control panel.
     */
    public function index()
    {
        $this->template
            ->title('Dashboard')
            ->build('dashboard_view', $this->data);
    }
}

<?php echo $cms_name; ?>
4

2 に答える 2

1

$data配列をインスタンス プロパティにしたい場合があります。

class Backend_Controller extends MY_Controller
{
    protected $data = array();
    ...

    public function my_backend()
    {
        $this->data['cms_name'] = $this->config->item('cms_name');
    }
}
于 2013-09-12T15:10:21.700 に答える
0

子クラスで使用できるようにするには、クラス プロパティを作成する必要があります。

class Backend_Controller extends MY_Controller 
{
    public $data;

    public function __construct()
    {
        parent::__construct();
        $this->data['cms_name'] = $this->config->item('cms_name');

    }
}
于 2013-09-12T15:10:13.930 に答える