Extra Form
PHP PHP 7.2
CMS Rhymix 2.0

새로고침 없는 추천/비추천/신고 모듈을 사용중입니다.

AJAX로 추천을 눌러도 새로고침 없이 반영이 되는 모듈인데, 추천에 한정해서 누를 경우 자동 새로고침을 하려고 합니다.

 

그래서 해당 모듈 스킨의 vote.html 에서 아래 부분을 추가했습니다

 

<button type="button" class="vb-btn vb-white" onClick="vote_doVote('Up','{$document_srl}');"window.location.reload()";return false;" cond="$use_voteBtn!='N'">
        <span class="lang">
            <i class="xi-thumbs-up" style="color:#F94966"></i>
                <!--@if($lang_vote)-->{$lang_vote}<!--@else-->{$lang->voted_count}<!--@end-->
        </span>
        <span class="num" id="vm_v_count">
            {$voted_count}
        </span>
    </button>

 

 

수정했는데 추천 카운트만 올라가고 새로고침으로 이어지지가 않네요.

어디가 잘못된걸까요?

 

  • profile

    1. 함수를 따옴표로 감싸시면 그냥 문자열이 됩니다. 중간에 문자열 하나 끼워들어가있으니 아무 변화도 없는것이죠
    2. 그렇다고 따옴표를 그냥 빼는걸로 해결이되지 않을수 있는것이 vote_doVote 함수 구현 방식에 따라 다르지만 exec_json 등 비동기 방식으로 동작시 따옴표를 빼버리면 앞선 vote_doVote 함수가 미처 실행되기 전 페이지가 새로고침되어버릴수 있습니다.
    3. 추천 부분만 기존 라이믹스가 사용하는 추천 코드를 넣는것이 제일 깔끔할것 같습니다(기본적으로 완료후 새로고침되죠)

  • profile profile
    • jyrt
    • 질문기여자
    답변 감사드립니다.
    라이믹스 기본 추천 코드는 xedition 게시판 스킨의 추천 코드도 해당될까요?
  • profile profile
    네. xedition 스킨의 추천부분 참고하시면 될겁니다. 다만 해당스킨에서 추천함수도 따로 가져오셔야 할수 있습니다
  • profile profile
    • jyrt
    • 질문기여자
    onclick 함수를 라이믹스 기본 추천 함수로 교체했더니 정상 적용되었습니다. 감사합니다!
  • profile
    스킨에서 정의한 vote_doVote 함수가 어떻게 구현되어 있는지는 모르겠지만, 추천 관련된 기능을 손보고 싶으시다면 그 함수를 찾아서 내용을 바꾸거나 추가하는 것이 가장 자연스러울 것 같습니다.

    그런데 추천 후 추천수를 +1 해주기 위해 페이지 전체를 새로고침하는 것은 낭비지요. 밑에 {$voted_count} 부분만 jQuery로 업데이트해 주면 되는데... 아마 이것도 함수 수정으로 가능할 거예요.