CI 묻고 답하기

제목 전체페이지에 헤더,푸터 부분이 공통적으로 들어 가야 되는데 어떻게 작성하시는 지 궁금합니다.
카테고리 CI 2, 3
글쓴이 정수리 작성시각 2017/06/02 13:15:51
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 15441   RSS

전체 웹페이지에 공통적으로 헤더, 푸터 부분이 출력이 되어야 합니다.

 

이전에 처음으로 CI로 만들었던 사이트의 경우 모든 컨트롤러에서 헤더와 푸터 부분을

 

funtion _head() 라는 함수를 만들어서

 

호출하여 출력하도록 하였습니다.

 

컨트롤러에 반복적인 코드가 들어가보니 먼가 비효율적인 느낌이 들어

 

포럼을 검색해보니

 

후킹을 이용해서 출력하는 방법, _remap을 사용해서 출력하는 방법을 추천하시더라구요

 

그래서 _remap이라는 함수를 사용해서 작성하고 있는데

 

이해가 되지 않네요

 

main 이라는 컨트롤러에 

 

_remap 함수를 만들어서

헤더와 푸터 부분을 출력하는 코드를 넣었습니다.

 

여기서 다른 페이지를 이동하게 되면 다른 컨트롤러가 호출되면

 

호출된 컨트롤러에서도 _remap이라는 함수를 만들어 헤더와 푸터 부분을 출력하는 코드를 

 

넣어야 할텐데 이 방법은 이전에 _head함수를 만들어서 각컨트롤러에서마다 출력하는 방식과 다를게 없네요;;

 

제가 _remap이라는 함수를 제대로 이해를 못한것 인지

 

메뉴얼에 컨트롤부분에 _remap부분을 읽어 보아도 제대로 이해가 되지않아 정확하게 사용하고 있는지 의문이 생깁니다

 

다른 선배님들께서 모든 페이지 고정적으로 들어가야 되는 부분(메인 메뉴, 통합 검색등) 을 어떻게 처리 하시는지 궁금하며

 

_remap 함수의 사용 용도를 정확히 알고 싶네요

 다음글 CI 3.0에서는 ci_sessions의 목록들이 시간... (2)
 이전글 $config['csrf_protection'] = T... (2)

댓글

변종원(웅파) / 2017/06/02 14:14:00 / 추천 0

리맵의 역할이 원래 그런겁니다. 정수리님은 있는걸 만들어서 사용하신거구요. ^^

손대는게 번거로우면 hook 포인트를 이용한 레이아웃 라이브러리를 사용하시면 1번 선언으로 끝납니다.

 

전 눈에 보이는걸 좋아해서 레이아웃을 사용하지 않고 _remap으로 사용합니다. 

정수리 / 2017/06/02 14:23:51 / 추천 0

@변종원(웅파)

답변감사합니다

그렇군요

그렇다면 있는걸 만들어서 사용한거라고 말씀하셨는데

remap를 수정해서 1번 선언으로 끝낼수도 있는건가요?

변종원(웅파) / 2017/06/02 14:24:51 / 추천 0
정수리/ 아뇨. 레이아웃을 사용해야 1번으로 끝납니다. 리맵은 컨트롤러마다 넣어줘야 합니다.