오래된 애드온인데 라이믹스에서 오류가 나서
CMS/프레임워크 | Rhymix 1.9 |
---|---|
개발 언어 | PHP 7.2 |
추천버튼이 없는 자료가 있어서(포인트러쉬) 해당 모듈에만 애드온을 통해서 추천버튼을 노출하고 있었는데 라이믹스로 오니 작동을 안하네요. 스크립트 오류도 나는데 이게 템플릿 파일을 못불러온 상태에서 js가 로딩되어서 그런건지...
라이믹스에 안맞는 문법이 있는지 궁금합니다.
Context::set('var',$var);
$oTemplate_ = &TemplateHandler::getInstance();
$output_ = $oTemplate_->compile('./addons/addvote_ext/tpl','addvote');
Context::addHtmlHeader(sprintf("<script type=\"text/javascript\"> var addon_addvote_var='%s';var addon_addvote_logged=%s;xe.lang.msg_not_logged='%s';</script>", trim($output_),(Context::get('logged_info')?'true':'false'), Context::getLang('msg_not_logged')));
Context::addJsFile('./addons/addvote_ext/addvote.js');
Context::addCSSFile('./addons/addvote_ext/tpl/addvote.css');
js
(function($){$(function(){
var c=$('.xe_content[class*=document_]').eq(0);
if(c.attr('class'))
{
var document_srl=c.attr('class').replace(/.*document_([0-9]+).*/,'$1');
c.append(addon_addvote_var).find('.wgtRv.addon_addvote button').click(function(){
if(addon_addvote_logged) {
if($(this).is('.btn_move')){
location.href = request_uri + "index.php?act=dispBoardDocumentMoveTo&document_srl=" + document_srl;
}else{
doCallModuleAction('document',
(($(this).is('.btn_voted'))?'procDocumentVoteUp':(($(this).is('.btn_blamed'))?'procDocumentVoteDown':'procDocumentDeclare')),
document_srl, (($(this).is('.btn_block'))?"block":""));
}
}else { alert(xe.lang.msg_not_logged); }
return false;
});
}
}); })(jQuery);
댓글 8
어디에서 무슨 에러가 나나요?^^
jquery 에러가 나요
위 에러가 가리키는 페이지 소스 라인 에 코드는 소스보기에서
<script type="text/javascript"> var addon_addvote_var='<!-- Template start : /addons/addvote_ext/tpl/addvote.html -->
이렇게 보이고 있구요.
addvote.js?20140706185611:6 Uncaught ReferenceError: addon_addvote_var is not defined
at HTMLDocument.<anonymous> (addvote.js?20140706185611:6)
at i (jquery-2.2.4.min.js?20200710003045:2)
at Object.fireWith [as resolveWith] (jquery-2.2.4.min.js?20200710003045:2)
at Function.ready (jquery-2.2.4.min.js?20200710003045:2)
at HTMLDocument.J (jquery-2.2.4.min.js?20200710003045:2)
위와 같은 js 에러가 나는데요.
6번째 라인은
c.append(addon_addvote_var).find('.wgtRv.addon_addvote button').click(function(){
이것 같기도 하구요.
이거 전체가 한 줄이죠?
Context::addHtmlHeader(sprintf("<script type=\"text/javascript\"> var addon_addvote_var=%s;var addon_addvote_logged=%s;xe.lang.msg_not_logged='%s';</script>", json_encode(trim($output_)),(Context::get('logged_info')?'true':'false'), Context::getLang('msg_not_logged')));
이렇게 바꿔보세요.
추천,신고버튼 코딩하기 싫어서 하기 싫었는데 덕분에 일 줄었습니다. ㅋ 감사합니다.
XE에서 대충 넘어가던데 라이믹스에서 안통하니 제대로 수정해야 하는 것들이 조금 있네요 ㅋ