2016-10-03 5 views
2

コントローラ内の各関数内で同じデータを呼び出すのではなく、一度呼び出すことによってそのデータをグローバルにロードします。 i「はheader_menus」[このファイルには、コアのフォルダ内にあると、コントローラのフォルダ内にあり、コントローラがあると私は$データをロードしますどのようにホームコントローラ内部の機能を搭載しながら、私はすべてのページに同じコンテンツを読み込む方法は?

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

class Home extends MY_Controller { 

をした

MY_Controller.php 
<?php 

class MY_Controller extends CI_Controller { 

    public function __construct() { 
     parent::__construct(); 
     $this->load->helper(array('form', 'url','file')); 
     $this->load->model('common/common_model'); 
     $data['header_menus'] = $this->common_model->categoryMenus(); 
    } 
} 

をしました]ビューでは、私は再び関数の変数で何かをする必要がありますか?

+0

レイアウトを使用していませんか? http://stackoverflow.com/questions/19976737/how-to-create-master-pagelayout-with-base-design-style – madankundu

+0

これを 'view helper'に入れて、レイアウトからこのヘルパーを呼び出してください –

答えて

1

Viewフォルダにあるビューを作成し、コントローラにそのビューをロードし、あなたのコントローラで変更します:たとえば

を、あなたのビュー名は、ビューのフォルダにdisplay_view.phpです:

MY_Controller.php

<?php 

class MY_Controller extends CI_Controller { 

    public function __construct() { 
     parent::__construct(); 
     $this->load->helper(array('form', 'url','file')); 
     $this->load->model('common/common_model'); 
     $data['header_menus'] = $this->common_model->categoryMenus(); 
     $this->load->view('tour/view',$data); 
    } 
} 

display_view.php

<?php 
if(!empty($header_menus)) { 
    extract($header_menus); 
} 
print_r($header_menus); // you can get all the info here 
?> 

Load View in Codeigniter

0

継承について確認します。

$data['header_menus'] = $this->common_model->categoryMenus(); 

あなたはあまりにも他の変数のための

$this->data['header_menus']; 

使用$this->data配列とそれを呼び出し、のようなものでビューを呼び出す必要がコントローラ拡張で

$this->data['header_menus'] = $this->common_model->categoryMenus(); 

なければならない:

$this->load->view('some_view_file', $this->data); 

文書herehereherehereおよびhereで読んでください。

関連する問題