포럼
common_layout을 불러오지 않을 방법?
2014.01.01 00:48
XE 설치 경로/classes/display/HTMLDisplayHandler.php 파일의 prepareToPrint() 함수를 보면 common_layout을 강제로 적용시키고 있더군요...
if(Mobile::isFromMobilePhone()) { $this->_loadMobileJSCSS(); $output = $oTemplate->compile('./common/tpl', 'mobile_layout'); } else { $this->_loadJSCSS(); $output = $oTemplate->compile('./common/tpl', 'common_layout'); }
이걸... 애드온에서 어떻게 후킹해줘야 수행하지 않는지 제 머리속은 뒤죽박죽 @_@;
코어 단위에서 기능 추가해주지 않으려나요 이거. 둘 다 불러오지 않는 루틴도 추가해줬으면 하는 바람 :)
댓글 13
-
퍼니엑스이
2014.01.01 11:38
before_display_content 시점에서 헤더를 출력하고 직접 HTML을 출력한 뒤 exit(); 를 넣어주면 되네요. -
이즈야
2014.01.01 13:33
먼저, 새해 복 많이 받으세요~^^
알려주신 방법은 후순위에 있는 애드온을 불러오지 못하고 끝나버려서 뭔가 좀 난감하네요.
다른 방법은 없는 걸까요?
-
퍼니엑스이
2014.01.01 13:43
애드온을 먼저 실행하고 그 다음에 레이아웃을 적용하다 보니 HTMLDisplayHandler를 수정하지 않고는 방법이 없는 듯 합니다.
-
퍼니엑스이
2014.01.01 13:45
꼼수로, 애드온 목록을 가져와서 직접 실행시키면 가능할 것 같기는 합니다.
-
이즈야
2014.01.01 14:13
오 감사해요!
좋은 하루 되세요~
-
라르게덴
2014.01.01 18:32
Context::setResponseMethod('XMLRPC');
Context::setResponseMethod('JSON');
-
이즈야
2014.01.01 19:41
...어?! 이런 방법이?!!
감사합니다!!!!
-
퍼니엑스이
2014.01.01 22:47
앗. 이 방법이 있다는 것을 까먹었네요. 참고로 Content-Type을 text/html로 바꿔야 할 겁니다.
-
mAKEkr
2014.06.03 22:51
JSON으로 하게되면 text/html으로 반환되어서 Content-Type을 바꾸지 않아도 돼요~
-
Ray
2014.06.03 22:40
.
-
mAKEkr
2014.06.03 22:52
제대로 하신다면 common_layout을 불러오지않습니다. 방법이 잘못되신게 아닌지 확인해보세요.
-
Ray
2014.06.04 00:34
.
-
mAKEkr
2014.06.04 00:35
레이아웃 미설정 문제가 아니라 이미 댓글에 답이 있습니다.
이 게시글의 댓글을 차근차근 보시기 바랍니다..