웹마스터 팁
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
제목 | 글쓴이 | 날짜 |
---|---|---|
댓글 수정/ 대댓글 달시에 댓글 공지 넣는법 [8] | 불금 | 2015.06.17 |
위젯 복사 팁 - 이걸 왜 이제야 알았을까.. | socialskyo | 2015.06.17 |
댓글에 대댓글 달리면 수정 불가능하게 하기 [8] | 불금 | 2015.06.17 |
원하는 그룹에게 아이피를 전부다 표시해주기 [1] | 불금 | 2015.06.16 |
SSL의 정석 (아파치 & nginx) [13] | 기진곰 | 2015.06.16 |
확장변수 검색시 범위 설정해서 검색하는 팁. [2] | 키다리아저씨2 | 2015.06.16 |
네이버 날씨 위젯 입니다 | codlllle | 2015.06.15 |
페이스북 공유할 때 모바일에서는 이미지 안뜨는 증상 | silhwang | 2015.06.14 |
XE 에 무료 채팅방 설치하기 [6] | 김동재4af45 | 2015.06.14 |
자동 저장되었습니다에 초단위 추가 | 불금 | 2015.06.13 |
무료 오픈 api가 많은 사이트 [유용] [3] | 김동재4af45 | 2015.06.13 |
Font Awesome 메뉴바에 적용하기 | 불금 | 2015.06.13 |
상단바 (navbar) 고정 레이아웃 알림센터 close시 밀려나는 현상 해결법 [2] | 불금 | 2015.06.13 |
Uchat 에서 XE 프로필 이미지 불러오게 수정하는법 | 불금 | 2015.06.10 |
MARIADB or MYSQL 의 INNODB로 엔진 변경 PHP스크립트 | 간장게장같은남자 | 2015.06.10 |
포인트 복권 모듈 관리자 페이지 1.7이상에 맞게 [10] | 착한악마 | 2015.06.10 |
간단한(?) 해시태그 소스.. [18] | Ikoo | 2015.06.10 |
트래픽 차단된 이미지들 보는 방식 만들었네요. | SeungXE | 2015.06.10 |
해당 그룹 or 관리자는 애드온 실행 안되게 하기 [3] | 불금 | 2015.06.10 |
1.8.3 통합 검색시 제목+내용 으로 하기 | 불금 | 2015.06.09 |