웹마스터 팁
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
| 제목 | 글쓴이 | 날짜 |
|---|---|---|
|
(CSS) IE8용 웹조각 기능
| Simulz | 2009.03.26 |
| XE위키 모듈: 숫자 문서의 짧은 주소 문제와 미디어위키 문법 사용시 내부링크 문제 해결하기 | Gunmania | 2016.02.12 |
| 가상사이트 페이지별 개별 레이아웃 적용하기 | Xiso | 2016.01.31 |
| warning: call time pass by reference 에러 해결 방법 [6] | ezi | 2011.07.28 |
| 리눅스 10원짜리 팁 - history 명령어 응용 | paraduxx | 2016.01.12 |
| 리눅스 10원짜리 팁 - 탭 키 쓰십니까 ? | paraduxx | 2016.01.12 |
| 회원가입폼 기본항목에 안내문구 넣기 | paraduxx | 2016.01.11 |
|
XE와 마인크래프트 서버 화이트리스트 연동하기
[9]
| 연가시먹었다 | 2012.08.25 |
| 일반 게시판에서 익명 선택하여 작성하기 [2] | POWERXE | 2015.12.27 |
| 메뉴활성화에 따라 원하는 위치에 레이어 넣고 바꾸기.. 왼쪽 플래시 메뉴 메뉴따라서 바꾸기 [4] | 만쓰별(정만) | 2009.01.24 |
| 비밀글 이여도 갤러리나 웹진형에서, 썸네일이나 요약 부분이 나타나게 수정하려면.. | sejin7940 | 2015.12.23 |
|
상단에 스르르~ 닫기 가능한 배너 달기
[30]
| 야옹잉 | 2014.06.20 |
|
빠른 글 쓰기: 메인 페이지에서 글 쓰기
[1]
| 윈컴이 | 2015.12.09 |
|
통합검색 기능에 권한 적용하기 (완전 차단 필요할 때)
[9]
| 모노소프트 | 2012.04.30 |
| 관리자만 볼 수 있는 로그인 기록 페이지 만들기 | 퍼니엑스이 | 2015.12.07 |
| rsync 와 ssh root 접속을 막고 인증키로만 백업하기 | 마루디자인 | 2015.11.25 |
| 리눅스 백업 1.0 | ibin | 2015.11.23 |
| 이제는 유튜브동영상 손쉽게 다운로드 받으세요 ミ:つÞ [7] | 딴죽을거는남자 | 2015.11.02 |
|
파시ㅇ 예제입니다.
[3]
| 유창화 | 2015.11.12 |
| CentOS PHP TS/NTS 모드 설치 방법 | 마루디자인 | 2015.11.09 |