CI 묻고 답하기

제목 ci3 view 호출 질문입니다.
카테고리 CI 2, 3
글쓴이 ci늦둥이 작성시각 2021/05/17 17:52:14
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 8186   RSS

안녕하세요.

ci v3 에서 view 호출 시 궁금한 사항이 있어 질문글을 남기게 되었습니다.

 

Controller 에서 아래와 같이 _remap 을 사용하여 header 와 footer 를 호출하였습니다.

 

/**
* 사이트 해더, 푸터 자동 추가
*/
public function _remap($method) {
    // 해더
    $this->_header();

    if(method_exists($this, $method)) {
        $this->{"${method}"}();
    }

    // 푸터
    $this->_footer();
}

 

그리고

function page1() { ... }

function page2() { .... }

 

이렇게 여러 페이지가 있는데

특정 페이지 (page3 이라 칭하겠습니다.) 에서 header 에 데이터를 추가해야될 일이 생겼습니다.

저의 짧은 지식으로 많은 시도를 해보았는데

_remap 을 지우고 page1, page2, page3 에서 각각 위 아래에 _header(), _footer() 를 호출해 주는것 말고는 답을 몾찾았습니다.

 

조언좀 부탁드립니다.

읽어주셔서 감사합니다.

 

 다음글 base_url 을 ip로 설정하는 방법은 없을까요? (2)
 이전글 ci4 (1)

댓글

변종원(웅파) / 2021/05/17 18:02:50 / 추천 0

_header() 내용이 어떻게 되어 있는지 모르기 때문에 정확한 답을 할 수 없습니다.

개념상으로는 

if(페이지3일때)

{

$data['data'] = '필요데이터';

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

}

else

{

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

}

ci늦둥이 / 2021/05/17 18:29:13 / 추천 0

답변해주셔서 감사합니다.

_header() 는 간단합니다.

protected function _header() {
  $this->load->view('fragments/header');
}

이렇게만 구현되어 있습니다.

 

답변해주신 내용을 보니 저렇게 header 안에서 분기 태워야 하는군요.

 

질문글 올리고 갑자기 생각난게 있어서 해보니 잘 되어 수정하였습니다.

$this->uri->segment

이걸 이용하여 분기 태웠는데

비슷한 처리겠네요.

 

도움 주셔서 감사합니다!!