매번 감사의 말씀 드립니다.
하지만 레이아웃 페이지에서 편집 모드에서 각 위젯의 코드를 발생시켜 위치에 배치 하는것은 어렵지 않습니다.
그런데 일단 아래 코드를 살펴봐 주십시요
<div id="contentBody" style="width:{$layout_info->content_width-15}px;">
<div id="columnCenter" style="width:{$layout_info->content_width-30}px;">
<!-- 컨텐츠 시작 -->
{($content)}
<div id="main" >
<img class="zbxe_widget_output" widget="dicasajin_cool_images" skin="default" colorset="transparent" title="용문 도성사" order_target="list_order" order_type="desc" background_mode="text" thumbnail_type="crop" thumbnail_width="480" thumbnail_height="300" cols_list_count="1" rows_list_count="1" display_document_title="N" display_author="N" display_regdate="N" display_readed_count="N" display_voted_count="N" mid_list="photo" />
</div>
<div id="photo" style="width:66%;float:right;">
<img class="zbxe_widget_output" widget="dicasajin_tab_newest_images" skin="default" colorset="transparent" order_target="list_order" order_type="desc" duration_new="72" subject_cut_size="16" thumbnail_type="crop" thumbnail_width="120" thumbnail_height="80" cols_list_count="3" rows_list_count="3" display_author="Y" display_regdate="Y" display_readed_count="Y" display_voted_count="Y" module_srls="163,430" />
</div>
<div id= "docu" style="width:33%;float:left;">
<img class="zbxe_widget_output" widget="dicasajin_newest_document" skin="default" colorset="transparent" title="새소식" order_target="list_order" order_type="desc" list_count="3" duration_new="72" disp_type="half" subject_cut_size="16" mid_list="alarm" />
</div>
</div>
</div>
<ul id="footer">
위는 제가 시험삼아 작업해본 레이아웃 편집 코드 입니다
위의 코드가 실행될때의 화면은 다음과 같습니다.
위에 올린 사진과 같이 작성된 코드에 의한 결과 입니다
그런데 맨위 붉은색 박스에 표시된 "내용이 출력되는 부분입니다" 이부분이 사실 골칫거리 입니다
윗 그림과 같은 상황에서 1차 메뉴의 네비게이션의 메뉴를 클릭했을때 보이는 화면은 다음과 같습니다.
위에 사진 처럼 메뉴를 클릭해 열린 페이지는 위에 그리고 레이아웃 부분은 다시 하단에 표시 됩니다.
제 생각으로는 컨텐츠 변수 {$content} 를 위에 두고 위젯 코드를 넣으면 이렇게 되고 (맨위 코드참조) 그리고 아래놓고 위젯 코드를 넣으면
위의현상 반대가 됩니다.
바로 이런 부분에서 제가 헤메고 있다는 말씀 드립니다.
이부분에서 서브레이아웃과 메인레이아웃으로 나눠 처리 해야 하는것 같은데 ... 이 부분을 아직 확실하게 이해부족 입니다.
윗 부분의 글에 복열님의 이해가 되셨으면 좋겠습니다.
1.메뉴에 대해서 적어봅니다.
메뉴는 메인과 서브가 있습니다.
각각 레이아웃과 페이지가 존재해야 하지요.(예. main.html,sub.html,만약 서브를 여러개 할결우 sub1.html,sub2.html......이런식으로)
만약 각 서브마다 레이아웃을 달리할수도 있고요.이때 역시 페이지도 같이 존재해야 합니다.
이 부분을 만드실줄 알아야 합니다.
처음들어갈때는 메인레이아웃으로 들어가게(지금처럼)하시고
서브 들어갈때는 그 서브레이아웃으로 링크가 되게 합니다.(링크는 레이아웃 부분에서 메뉴에서 처리되고,설정에서 메뉴를 만들면서 시작됩니다.)
메인 레이아웃 부분
<!--@if($act)-->
<div id="content" style="background-color:#494949;" >
{$content)}
</div>
<!--@else-->
<div id="contentBody">
----메뉴 밑에 들어가는 태그 및 코드들....
</div>
<!--@end-->
위에서 보시면 {$content)}부분은 회원정보등을 누른경우 그 내용을 뿌려줍니다.
결과적으로 ----메뉴 밑에 들어가는 태그 및 코드들...이부분은 실행이 되지 않지요.
2. content 관련
content는 sub인 경우 게시판이 나오는곳 입니다(혹은 로그인,회원정보,에러시 에러화면,등....).이때는 위에서 보이는 content 부분을 변경해 주어야 합니다.
코드는 다음과 같습니다.
<!--@if($act)-->
<!--@if($act=="dispBoardWrite")-->
<div id="dicasajin_content_01" />
{$content)}
</div>
<!--@else-->
<div id="dicasajin_content_02" style="background-color:#494949" />
{$content)}
</div>
<!--@end-->
<!--@else-->
<div id="dicasajin_content_03" />
{$content)}
</div>
<!--@end-->
즉 코드생성한 모든 부분을 제거하고 위만 집어넣으면 서브 레이아웃이 됩니다.(당연희 메뉴 코드등 를같이 공유 합니다.
메뉴에서 위를 sub.html이고 이를 메뉴에서 가도록 하면 됩니다.
3. 결론은 위와 같이 분이하여 레이아웃를 만들어야 한다. 입니다.
위 부분과 초당님의 레이아웃를 차근히 비교해 보시고 만드시면 됩니다.(위와 같이)
그럼 성공하시기 바랍니다.