CI 묻고 답하기

제목 view 관리에 대해서 여쭤봅니다
글쓴이 우레퐄풍 작성시각 2015/01/22 03:37:36
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 13709   RSS
늦게까지 고민하게 됐네요 ㅎㅎ

컨트롤러에서 view파일을 로드할 때

<HTML>
<head>
헤드(meta,title,여러가지 js,css파일)부분
</head>
<body>
메뉴바(헤더) 부분
콘텐츠 부분
푸터 부분
자바스크립트 부분
</body>
</HTML>

이렇게 나눠서 로드하고 싶습니다만..
순서대로 로드하게 된다면 뷰 사이사이에<html><body><head> 이런 태그들이 감싸져야 하는데,
사이에 끼워넣기도 그렇고..
컨트롤러에 echo 해서 load명령어 사이사이에 끼워놓는 방법은 CI엔 좀 찝찝한 느낌이고..

그래서 생각해 낸 방법이

<html>
<head>
  <title><?=$title?></title>
  <meta charset='utf-8'/>
  <?
  $this->load->view($head);
  ?>
</head>
<body>
  <?
  $this->load->view($body);
  ?>
</body>
</html>

이런 식의 template.php라는 뷰를 컨트롤러에서 로드합니다.
$title에는 타이틀 문자열을, $head나 $body에는 로드할 경로를 값으로 줍니다.
상당이 좋은 방법이라고 생각했는데.. 저기서 이중 삼중으로 뷰를 로드하게 된다면 나중에 모델을 쓸 때 컨트롤러에서 모델을 불러와 얻어온 데이터를 template.php에 전달해주고, 또 그 데이터를 body로드할때 전달해서 매우 복잡해질 것 같습니다.

그냥 template.php같은거 쓰지 않고 차례대로 로드하면서 head태그 뷰 부분만 <head></head>로 감싸주고, 나머지 뷰는 <body></body>태그 없이 그냥 불러줘도 알아서 브라우저가 인식해서 잘 만들어주긴 합니다만 완벽한 방법은 아닌것 같은 느낌이 들어서 ㅎㅎ

고수님들은 어떤 방법을 사용하시는지..

 
 다음글 컨트롤러에서 DB연결 관리방법 관련 문의 (5)
 이전글 REST_Controller를 사용한 RESTful 사... (1)

댓글

한대승(불의회상) / 2015/01/22 09:19:26 / 추천 0
다 비슷한 생각을 하는것 같습니다.
저도 우레폭풍님처럼 템플릿 하나 부른 다음에 템플릿에 변수로 이것 저것 넘긴 후 껴맞추기를 주로 하고 있습니다.
우레퐄풍 / 2015/01/22 13:42:08 / 추천 0
그렇다면 모델을 쓸 때 컨트롤러에서 모델을 불러와 얻은 데이터를 이중, 삼중으로 전달해주고 계신가요?
한대승(불의회상) / 2015/01/22 14:42:22 / 추천 0
우레퐄풍// 캐슁이 되므로 최상위 뷰에서 한번만 전달하면 됩니다.
우레퐄풍 / 2015/01/22 15:57:57 / 추천 0
아하.. 그렇구나 감사합니다