웹마스터 팁
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
제목 | 글쓴이 | 날짜 |
---|---|---|
제한된 외국 호스팅 환경에 맞추어 쓰기..... [5] | Falls Too Fast | 2007.11.20 |
XP 환경에서의 속도 저하 문제 해결 (Apache 2.2.X) [2] | Netsblue | 2007.11.20 |
분류(category) 필수로 입력받기 [9] | Diver | 2007.11.20 |
제한된 서버에서 ZBXE가 돌아가도록 설정하기 [2] | Falls Too Fast | 2007.11.22 |
(글) 첨부 파일 날짜 출력 및 아이콘 표시 [1] | Simulz | 2007.11.22 |
XE treeview [4] | 앙데르센 | 2007.11.22 |
글쓴이 이메일 정보 감추기 [2] | 대암지기 | 2007.11.22 |
배경이미지기능으로 페이지꾸미기 [3] | 팔공산 | 2007.11.23 |
소스에서 php short tags 제거하기 [1] | 토우코 | 2007.11.24 |
클립보드로 텍스트 복사하기 [5] | 베니 | 2007.11.24 |
윈도우 라이브 메신저를 홈페이지 서명난에 달자 [1] | Diver | 2007.11.26 |
[동영상 강좌1] zbxe 설치하기 [120] | 필반 | 2007.11.26 |
팁이라긴.. 약하지만;; Trac을 이용한 최신버전을 다운로드 받자!! [3] | 동균84 | 2007.11.26 |
MSN로그인 상태를 홈피좌측 메뉴에 삽입하는 방법 [9] | 팔공산 | 2007.11.27 |
(회원정보) 보기 페이지에서 포인트 변경하기 [4] | Simulz | 2007.11.28 |
google base 사용기. | font | 2007.11.29 |
메뉴에 이미지버튼 사용하기 [11] | 정낙훈(xynex) | 2007.11.29 |
(포인트) 선물하기 [9] | Simulz | 2007.11.30 |
위젯배경이미지방 오픈했습니다. [2] | 팔공산 | 2007.12.03 |
[동영상 강좌2] zbxe 페이지 생성과 기능 설명 [45] | 필반 | 2007.12.03 |