Extra Form
PHP PHP 7.2
CMS Rhymix 2.0

라이믹스 2.0.24

php 7.2.34

 

상황

1. 추천 취소 없던 시절, 추천 취소 기능+새로고침 없는 추천, 댓글 기능을 의뢰해서 사용

2. 라이믹스 1.9 버전대로 넘어올 때 코어 순정으로 넘어온 것으로 추정? (기억이 가물가물)

3. 현재 1에서 의뢰했을 때 코어 수정된 부분이 남아있지 않는 라이믹스 순정 상태

 

상황 2 때부터 다른 기능은 다 작동하는데 글 '비추천 취소'만 안됩니다.

비추천 상태에서 클릭시 '비추천했습니다' 란 문구만 나오고 아무런 변화가 없습니다.

 

비추천 이후 ajax 업데이트를 못 받아와서 그럴까요?

 

댓글과 다르고 의심되는 부분은 있는데, 이게 문제면 추천 취소도 안 되는 게 맞는 거 같고... 왜 비추천 취소만 안 되는지...

jQuery('div.rd_vote').load(current_url + " .rd_vote > *");

rd_vote는 추천 영역 class 입니다.

 

3~4일 열심히 찾아보았으나 해결을 못할 거 같고, 검색해서 나오는 다른 추천 취소 방법으로 바꾸기 전에 글 남겨 봅니다. ㅠㅠ

  • profile

    추천, 비추천, 신고 등의 취소 기능은 스킨에서 구현하기 나름입니다. 순정 라이믹스 코어를 사용하신다면 순정 라이믹스 코어에서 제공하는 기능과 연동하도록 만들어진 스킨이어야겠지요. 예전에 임의로 코어를 수정해 놓고 그 방법에 맞춰서 연동해 놓은 것이 순정 코어의 방식과 우연히 잘 맞을 가능성은 무척 낮고요.

     

    현재 스킨에서 어떻게 연동되어 있는지에 대한 자세한 정보 없이는 유용한 답변을 얻기 어려울 것 같습니다.

  • profile ?
    추천 관련된 코드는 이게 전부인 것 같은데 문제가 있는 부분이 있을까요?

    var _doCallModuleAction = window.doCallModuleAction;
    window.doCallModuleAction = function(e,t,n) {
    if(t.match(/^procDocument(?:Declare|Vote(?:Up|Down|UpCancel|DownCancel))$/)) {
    $.exec_json(e+'.'+t, {target_srl:n}, function(p){
    if(p.message!='success') {
    toastr.success(p.message);
    } else {
    if(t.indexOf('VoteUp') > -1){
    toastr.success("추천했습니다.");
    } else if(t.indexOf('VoteDown') > -1){
    toastr.success("비추천했습니다.");
    } else if(t.indexOf('Declare') > -1){
    toastr.success("신고했습니다.");
    }
    }
    jQuery('div.rd_vote').load(current_url + " .rd_vote > *");
    });
    }
    else if(t.match(/^procComment(?:Declare|Vote(?:Up|Down|UpCancel|DownCancel))$/)) {
    $.exec_json(e+'.'+t, {target_srl:n}, function(p){
    if(p.message!='success') {
    toastr.success(p.message);
    } else {
    if(t.indexOf('VoteUp') > -1){
    toastr.success("추천했습니다.");
    } else if(t.indexOf('VoteDown') > -1){
    toastr.success("비추천했습니다.");
    } else if(t.indexOf('Declare') > -1){
    toastr.success("신고했습니다.");
    }
    }
    loadCommentPage(document_srl, undefined, 0, true);
    });
    }
    else {
    _doCallModuleAction(e,t,n);
    }
    }
  • ? profile

    우선 코어 함수를 멋대로 대체하는 것부터 제정신이 박힌 코드는 아닌 것 같습니다만... 아무튼 올려주신 내용만 봐서는 비추천 취소도 가능한 코드인 같습니다. 단, 이 함수는 추천/비추천/신고 등의 버튼에서 onclick으로 지정한 내용을 그대로 서버에 전달할 뿐이니, 버튼 쪽에서 비추천 취소 동작을 어떻게 지정했는지가 관건이네요.

  • profile ?
    https://github.com/rhymix/rhymix-sketchbook/blob/master/_read.html#L304-L325
    스킨에서는 스케치북 라이믹스 버전 추천 부분을 사용중입니다.