묻고답하기
레이아웃 질문
2014.06.02 14:12
안녕하세요.
레이우앗 관련해서 질문 좀 드릴게요.
제가 레이아웃을 하나 만들었거든요.
그리고 이 레이아웃을 여러형태로 사용가능하게 하려고 합니다.
<var name="LAYOUT_TYPE" type="select"> <title xml:lang="ko">레이아웃 유형</title> <title xml:lang="en">Layout Type</title> <options value="MAIN_PAGE"> <title xml:lang="ko">Main Page(1Column=GNB+Content)</title> <title xml:lang="en">Main Page(1Column=GNB+Content)</title> </options> <options value="LEFT_PAGE"> <title xml:lang="ko">Left Page(2Column=GNB+Left+Content)</title> <title xml:lang="en">Left Page(2Column=GNB+Left+Content)</title> </options> <options value="RIGHT_PAGE"> <title xml:lang="ko">Right Page(2Column=GNB+Right+Content)</title> <title xml:lang="en">Right Page(2Column=GNB+Right+Content)</title> </options> <options value="FULL_PAGE"> <title xml:lang="ko">Full Page(1Column=GNB+Content)</title> <title xml:lang="en">Full Page(1Column=GNB+Content)</title> </options> </var>
일단 레이아웃 info.xml파일에서
레이아웃 형태를 옵션으로 설정할 수있게 코드를 넣었습니다.
그리고 layout.html에 다음과 같은 코드를 넣었습니다.
<div class="container"><!-- 본문영역을 감싸는 컨테이너--> <!--@if($layout_info->LAYOUT_TYPE=='MAIN_PAGE')--> <include target="layout.main.html" /> <!--@else if($layout_info->LAYOUT_TYPE=='LEFT_PAGE')--> <include target="layout.left.html" /> <!--@else if($layout_info->LAYOUT_TYPE=='RIGHT_PAGE')--> <include target="layout.right.html" /> <!--@else if($layout_info->LAYOUT_TYPE=='FULL_PAGE')--> <include target="layout.full.html" /> <!--@end--> </div>
관리자 페이지에서 사이트 메뉴편집 - 메뉴 - 디자인 -레이아웃에서 이 메뉴에 쓰일 레이아웃을 만들어 놓은 레이아웃을 선택하고 설정에서 위의 코드로 작성한 것 중 RIGHT_PAGE를 선택 한 후 저장을 하고 해당 메뉴를 들어가 보면 정상적으로 작동이 됩니다.
그런데 다른 메뉴의 레이아웃도 전부 RIGHT_PAGE 레이아웃형태로 변해 버립니다.
다른 메뉴는 레이아웃형태가 변경되지 않게 하려면 어떻게 해야하는지 궁금해서 질문 드립니다.
댓글 6
-
DoorWeb
2014.06.02 14:17
-
너무잠이와요
2014.06.02 19:21
감사합니다.
-
CosignStudio
2014.06.03 09:39
간혹 새로 생성한 레이아웃에서 옵션을 수정했는데 수정된 옵션이 반영되지 않는 경우가 있습니다.
이런 경우에는 레이아웃 - 편집 에서 "초기화"를 해주시고 다시한번 설정을 저정해 주시면 나오는 경우도 있습니다. 레이아웃을 편집하지 않아도 초기화를 해주어야 하더라구요.
확인해보시기 바랍니다.
-
DoorWeb
2014.06.03 09:48
레이아웃 편집에서 수정을 하지 않아도 저장버튼을 누르고 나오면 편집이 된걸로 인지됩니다.
-
CosignStudio
2014.06.04 11:06
위 댓글을 뜻은
1.레이아웃 편집에서 '초기화'를 해주시고
2.레이아웃 설정에서 '저장'을 누르라는 뜻입니다.
-
너무잠이와요
2014.07.09 16:35
모두 고맙습니다.
위에 사용하신 info.xml이나 layout.html 상에서 문제는 없습니다.
레이아웃 설정에서
설정을 RIGHT_PAGE 용과 기타 설정용을 따로 잡아 두시고 각 페이지나 게시판마다 원하는 레이아웃을 걸어 두시면 될거 같습니다.
즉 레이아웃 하나 생성하셔서 다 소화할려고 하지 마시고
몇개 생성해서 페이지나 게시판에 맞게 걸어 두시면 될겁니다.