질문 Q #9812
views 하위폴더 구성하기?
코드원 2012-04-05 17:51:35
 안녕하세요. 막 시작한 초보 입니다.

다른게 아니라. 코딩을 하다보니. views 폴더 밑에 각각의 컨트롤러의 뷰 파일을 넣을려고 합니다.

예를들자면  shop이라는 컨트롤러가 있다면

views/shop/  폴더에  shop CRUD  뷰단 파일을 넣어서 컨트롤 하고 싶어요.

그리고   views/shop 밑에 있는 공통파일을 인클루드 해서 열려고 하니깐. 파일경로가 문제로 에러가 나오더라구요.

views  밑에  common  폴더를 하나 만들고 여기에 공통으로 불러들일 파일을 만든다고 치면.

views/shop/1는  route 에서 처리하여 shop/view 파일을 읽도록 했습니다.

view.php 파일 내용 일부
<? include_once('_header_meta.php')?>
<body>
    <? include_once('_popup.php')?>
        <? include_once ('_header_layer.php'); ?>

위와 같이 인클루드 해서 불러들이니깐 파일경로를 찾을 수 없다고 합니다. 어떻게 접근해야 하나요?

 _header_meta.php 파일은 views/common/ _header_meta.php  여기에 있습니다.

고수님 한수 부탁드려요!!


답변 6
#1 변종원(웅파) 2012-04-05 18:08:24

정 어쩔수 없을때는 include 쓰겠지만 위와 같은 상황이면 컨트롤러단에서 _remap() 으로
처리하시면 됩니다.

아니면 규칙(?)에 어긋나기는 하지만 view파일 안에서 $this->load->view('/show/shop/_header_mate'); 라고 호출해도 됩니다.

_remap은 매뉴얼에서 찾아보세요.

제 경우엔 _remap으로 각 주소별로 헤더를 따로 처리하고 있습니다.

#2 코드원 2012-04-05 18:44:54
예를 좀 알려주시면 감하겠습니다.
#3 변종원(웅파) 2012-04-06 13:28:25
포럼에서 remap 으로 검색하시면 참고하실 자료들 있습니다.
#4 앤드그리고 2012-04-09 11:00:09
웅파// 저는 웅파님이 답변하신 내용중에 view 안에서 view 를 불러오는 방법으로 쓰고 있는데, 그 방법이 규칙에 어긋난다고 하셨는데요...
뷰는 뷰에서만 처리하는 방법같아서 사용하고 있는데, 어떤 규칙에 어긋나는지 알려주실 수 있나요?
#5 변종원(웅파) 2012-04-09 16:01:10
조영운// mvc패턴을 생각하면 컨트롤러에서 뷰를 변수에 담아 다른 뷰로 전달 하는 것이 맞습니다.
그렇지만 실무에서는 꼭 그렇게 하지 않아도 되서 규칙(?)이라고 표현을 한 겁니다. ^^
#6 앤드그리고 2012-04-10 10:20:32
웅파// 그런 의미로 규칙이라는 표현을 쓰신거군요. 답변 감사합니다.^^