웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
가상사이트 페이지별 개별 레이아웃 적용하기
2016.01.31 07:17
아는지인분이 요청하셔서 공홈에 찾아보니 관련 문제를 겪으신분들이 꽤나 있는 것 같은데,
@배워서남준다 님께서 올리신 ModuleHandler.class.php 를 수정하는 방법을 보았습니다.
일단 적용은 되긴하나 이 방법은 코어를건드리는 부분이다보니.. 추천하고싶지 않습니다.
또 근본적인 해결책이 되지는 못하겠지요.
homepage 모듈(cafexe 의 모듈명)에서 트리거를 이용해 레이아웃을 적용시키는데, modulehandler.class.php 를 수정하게되면 그트리거를 다~ 동작시킨 뒤 레이아웃을 강제로 다시박아버리는 형태가 되어버려서 좀 찝찝한감이있지요.
그래서 레이아웃을 적용하는 함수를 수정합니다.
./modules/homepage/homepage.controller.php 500번줄 근처에서 triggerApplyLayout() 이란 함수를 수정해주시면됩니다.
$current_module_info = Context::get('current_module_info'); //여기서부터 추가합니다. $args->layout_srl = $current_module_info->layout_srl; $output = executeQuery('layout.getLayout', $args); if(!$output->toBool()) return $output; $layout_info = $output->data; if(!$layout_info){ $args->site_srl = $site_module_info->site_srl; $output = executeQuery('homepage.getHomepage', $args); $layout_srl = $output->data->layout_srl; if(!$layout_srl) return new Object(); $oModule->module_info->layout_srl = $layout_srl; $current_module_info->layout_srl = $layout_srl; }else{ $oModule->module_info->layout_srl = $current_module_info->layout_srl; $current_module_info->layout_srl = $current_module_info->layout_srl; }
설명을좀 드리자면...
기존 사이트정보에 등록된 layout 으로 강제 적용하던 방식을 아래와같이 수정하였습니다.
현재모듈에 등록된 레이아웃 정보를 먼저 읽어서 해당레이아웃이 실제 존재하는 레이아웃이면 그 레이아웃을 적용하고 존재하지않는경우 ("미사용"을 사용할 수 없다는 단점이 .. ㅡ; 필요해지면 방법을 찾아보겠습니다.)에만 기존방식으로 동작하게끔 수정한 방식입니다.
네. 그렇습니다.
이상 (__);
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
날씨배너입니다. [4] | LooK782 | 2007.12.03 |
실시간 날씨를 불러오는 박스 입니다. [13] | 범피디 | 2007.12.03 |
움직이는 이모티콘 모음입니다. [4] | 범피디 | 2007.12.04 |
"파일첨부"가 클릭이 안되시는 분 보셔요. [11] | 최강협 | 2007.12.04 |
외부페이지에서 매개변수 사용가능하도록 하는 방법 [12] | 라르게덴 | 2007.12.05 |
XE 설치 진행 후 다시 첫 화면으로 넘어갈때 [2] | longkee | 2007.12.06 |
익명게시판 - 문제가 아직 많습니다. (다시 수정) [11] | 올챙이 | 2007.12.06 |
배경이미지 만드는 방법입니다. | 팔공산 | 2007.12.06 |
그림자 박스 만들기.. [3] | 소마세월 | 2007.12.07 |
[수정] 최근 이미지 추출에 new 이미지 등이 나타나게 하기... [5] | 비나무 | 2007.12.09 |
음악플레이기 3종세트 설치 방법(수정) [25] | 팔공산 | 2007.12.10 |
top 메뉴를 만들어보자 - layout에서 topmenu 항목만들기 [6] | SensePlus1 | 2007.12.11 |
로그인 안되서 files 폴더 지우셨던 분들!! [3] | 율랑 | 2007.12.11 |
권한없는 모듈을 만났을때 로그인 페이지 띄우기.. [10] | 똑디 | 2007.12.11 |
외부페이지 사용법 [8] | 길치객 | 2007.12.11 |
외부페이지에서 위젯사용하지 않고 로그인 정보 다루기. [5] [1] | 길치객 | 2007.12.12 |
페이지가 갑자기 하얀화면으로 나올경우에는 이렇게 해보십시오. [9] | 하나로45 | 2007.12.13 |
Layout.html 화일의 SEC(순서도)도를 그려봤습니다. [9] | SensePlus1 | 2007.12.14 |
ㅎㅎ, 이곳에도 Html 적용이 되네요. [3] | 눈과비 | 2007.12.14 |
최근 댓글이 가장 위로 정렬 [2] | 쏘프티 | 2007.12.20 |