웹마스터 팁
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
제목 | 글쓴이 | 날짜 |
---|---|---|
index.php에서 Parse Error가 발생한다면 [6] | YJSoft | 2014.04.01 |
게시판이 있는데 관리자 페이지에 나타나지 않을 경우 해결 방법 | 퍼니엑스이 | 2016.03.20 |
XE 루트로 옮기기 완벽 가이드 [/xe/ 로부터 벗어나자!] ver 1.1 [107] | LI-NA | 2013.02.26 |
기본 Content 위젯에 댓글 New표시하기 [10] | 조슈아킴 | 2010.05.08 |
에디터 비활성화 문제 해결했습니다! [2] | 엘로이스 | 2013.09.13 |
1.8 XEDITION 에서 로그인xe 사용하여 네이버 로그인 연동하기 [7] | karutian | 2015.04.10 |
CSS + HTML 메뉴 | 마루디자인 | 2016.03.10 |
호스팅 변경이나 이전시 썸네일 문제 점검사항 | 맥노턴 | 2016.03.07 |
[속도 향상] 불필요한 애드온 끄기 | 다미아빠 | 2016.03.06 |
외부 이미지 저장 애드온 [7] | samsara | 2013.03.26 |
서버의 파일권한 맞추기. | 마루디자인 | 2016.03.01 |
외부페이지에서 매개변수 사용하기 [2] | JnCsoft | 2008.04.07 |
외부 페이지에서 XE 기능을 추가 할때 | 410contents | 2016.02.25 |
PHP7에서 XE설치시 텍스트 다 깨져서 나올 때 | 꼬부기 | 2016.02.23 |
CentOS 6.x 에서 OpenSSL Heartbleed 취약점 업데이트 | 마루디자인 | 2016.02.23 |
댓글에 대댓글 달리면 수정 불가능하게 하기 [8] | 불금 | 2015.06.17 |
Linux(CentOS) APM 컴파일 설치 (중급) [1] | rwind | 2016.02.01 |
(포인트) 레벨별 포인트 계산 기능 추가 [4] | Simulz | 2007.11.19 |
(CSS) IE8용 웹조각 기능 | Simulz | 2009.03.26 |
XE위키 모듈: 숫자 문서의 짧은 주소 문제와 미디어위키 문법 사용시 내부링크 문제 해결하기 | Gunmania | 2016.02.12 |