제목 | 헤더 풋더 나누기.. | ||
---|---|---|---|
글쓴이 | 김대현 | 작성시각 | 2013/08/20 13:58:54 |
|
|||
안녕하세요. 상단에 메뉴와 바디 부분을 분리해서 코딩하려고 하는데요.. <div class="container-narrow"> <div class="masthead"> <ul class="nav nav-pills pull-right"> <li class="active"><a href="#">Member List<!--><!--> <li><a href="#">Member Add<!--a><!--li> <!--?phpif($this -> session -> userdata('user_level') == ADMIN_LEVEL){?> <li><a href="#">Admin<!--><!--> <!--?}?--> <li><a href="/index/logout">Logout<!--a><!--li> <!--
<h3 class="muted">MPTC<!--> <!--div> 이런식식으로 상단 메뉴는 한페이지에서 관리하고 나머지 바디부분은 각각 메뉴 벌로 관리하고 싶은데어떻게 해야할까요? 그리고 메뉴 활성화시 li 태그 안에 class =" active" 속성이 활성화 되야합니다. 조언좀 해주세요. |
|||
다음글 | 프로그램 툴 질문이요[html5 builder] (2) | ||
이전글 | input->get_post(); (14) | ||
risa
/
2013/08/20 14:26:12 /
추천
0
|
risa
/
2013/08/20 14:31:07 /
추천
0
아 혹시 뷰를 따로 부르는게 부담 되신다면...
$this->output->append_output(); 를 이용해 보세요. 그냥 echo 의 대용이라고 생각 하시면 됩니다. |
김대현
/
2013/08/20 14:49:03 /
추천
0
$this->{"{$method}"}(); 코드가 이해가 되지 않습니다 어떤 기능을 하는 코드인가요?
|
risa
/
2013/08/20 15:30:50 /
추천
0
public function _remap($method){
} 이것부터 이해 하셔야 합니다. 메뉴얼 찾아보시면 리맵 이라는 기능입니다. 컨트롤러 실행시 제일 먼저 찾아가는 함수 정도로 먼저 이해하시면됩니다. 일반적으로 $method = $this->uri->segment(2); 와 같습니다. [일부 아닐경우도 있지만 통상적으론 같습니다.] CI 에서 함수[페이지] 호출 법은 무엇이죠? $this->func_name(); 입니다. {"{$method}"} = 가변변수를 이용하여 2번째 세그먼트의 값을 그대로 호출 하는 것입니다. 예를들어서 test 컨트롤러에 function abc(){ } 가 있고 ../test/abc/ 로 URL 접근시 abc 라는 함수 호출 이란 의미입니다. $this->abc(); 와 같습니다. 즉 2번째 세그먼트에 적은 값의 함수로 호출 하겠다는 의미입니다. |
들국화
/
2013/08/20 16:12:53 /
추천
0
개인적으로 hooking 으로 하는게 좀더 편한거 같아요.
하나의 컨트롤러에서 여러 디자인을 사용하기도 편리한듯 하네요. |
김대현
/
2013/08/20 17:09:05 /
추천
0
hooking 이 코드이그나이트 방법인가요?
|
변종원(웅파)
/
2013/08/20 17:31:25 /
추천
0
http://cikorea.net/user_guide_2.1.0/general/hooks.html
후킹이라는 기법으로 레이아웃을 관리할 수 있습니다. 포럼 검색에서 레이아웃 또는 layout으로 검색해보세요. |
김대현
/
2013/08/20 18:31:17 /
추천
0
답변 너무 감사합니다. 많은 도움 됫습니다.
|
$this->load->view('header_v',$menu_code);
$this->load->view('main_v',$main);
$this->load->view('footer_v'');
메뉴코드에 $this->uri->segment(); 를 기준으로 판별해서 코드값을 미리 넣어둡니다.
예 : 1001
뒷자리든 앞자리든 짤라서 해당 코드 값이면 class =" active"
메뉴를 헤더 밑에 메뉴만 따로 넣고 싶으면
$this->load->view('menu_v',$menu_code);
여기에 리맵까지 넣으시면 끗.
public function _remap($method){
$this->load->view('header_v');
$this->load->view('menu_v',$menu_code);
$this->{"{$method}"}();
$this->load->view('footer_v'');
}
나머지 함수 호출에는 신경 끄고 해당 뷰만 넣으시면 됩니다.