2016-10-03 3 views
2

컨트롤러의 각 함수 내에서 동일한 데이터를 호출하는 대신 한 번 호출하여 해당 데이터를 전역으로로드하려고합니다. 은 내가모든 페이지에서 동일한 콘텐츠를로드하는 방법은 무엇입니까?

이 파일은 핵심 폴더 안에 컨트롤러 폴더에
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(); 
    } 
} 

컨트롤러가를했고, 홈 컨트롤러 내부에 적재 기능이 어떻게 $ 데이터 [ 'header_menus'를로드 할 동안 나는

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

class Home extends MY_Controller { 

했다 ] 뷰에서 그 함수에서 그 변수와 함께 다시 뭔가를해야합니까?

+0

레이아웃을 사용하지 않습니까? http://stackoverflow.com/questions/19976737/how-to-create-master-pagelayout-with-base-design-style – madankundu

+0

을 '보기 도우미'에 넣고 레이아웃에서이 도우미를 호출하십시오. –

답변

1

것은보기 폴더에 하나 개의보기를 만들고 컨트롤러에서 해당 뷰를로드, 컨트롤러 변경합니다

: 예를 들어

를보기 이름은보기 폴더에 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); 

문서 here, here, here, herehere에서 읽으십시오.

관련 문제