Profile
이온디

2019.11.08

사용팁

xe sketchbook 댓글 추천 새로고침 없이

조회 수 34 추천 수 0

XE 새로고침 없이 댓글 달기

https://eond.com/xe/391271


2017년도에 새로고침 없이 댓글 달기라는 글을 링크만 적어올린 적이 있었네요. (#반성)

댓글 추천하는 방법에 대해서도 찾아봤지만, 쉽게 적용할 수 있는 팁이 없었습니다.

그리고 서버의 부하 없이 단순히 진짜 정말 새로고침 없는 방법을 생각해봤는데요,


1. 코어에서 일단 새로고침 안하게 수정하기

/modules/comment/comment.controller.php

$output = new BaseObject(-1, $success_message); // 0 이 원래 값 -1로 할 경우 새로고침되지는 않음.

이 값을 0을 -1로 수정합니다.


2. 스킨에서 수정하기

<a class="bd_login" href="#" onclick="doCallModuleAction('comment','procCommentVoteUp','{$comment->comment_srl}');reloadComment('{$comment->comment_srl}','{$comment->get('voted_count')}');return false"|cond="$is_logged" title="{$lang->cmd_vote}"><em><i class="fa fa-heart color"></i> <span class="voteCnt">{$comment->get('voted_count')?$comment->get('voted_count'):0}</span></em></a>

1) reloadComment(코멘트srl,현재코멘트수) 함수를 추가하고, 

2) 댓글 수를 표시한 부분에 태그를 추가해서 쉽게 찾을 수 있도록 클래스를 추가해줍니다. (voteCnt 클래스를 임의로 추가함)


3. 스킨에 스크립트를 추가

/modules/board/skins/sketchbook5_eond/js/board.js

function reloadComment(comment_srl,voteCnt){
   var id = comment_srl;
   var cnt = Number(voteCnt);
   // console.log(id+'코멘트 추천을 눌렀습니다.');
   // console.log(cnt+'코멘트 수.');
   $("#comment_"+id).find(".voteCnt").text(cnt+1);
}

board.js에 reloadComment 함수를 추가해줍니다.

이 방법은 ajax는 아니고 단순히 제이쿼리로 숫자 부분만 텍스트를 변경해주는 방법입니다.

서버의 부하 없이 단순히 브라우저상에서 해당 텍스트의 숫자만 +1 해주는 방법입니다. ^^;


어차피 한번 클릭한 경우는 더 이상 추천할 수 없습니다. 라는 메세지가 뜨고,

새로 접속한 경우는 이미 클릭했던 수가 집계되서 보여지기 때문에 

기존의 다른 팁들보다 서버의 부하 없이 단순하게 구현 가능한 방법이라고 생각되네요.


참조

1) 선택자에 변수 넣기

https://github.com/sooojungee/TIL/blob/master/jQuery/180627.%5BjQuery%5D%20선택자에%20변수%20넣기.md 

2) 수 더하기


https://spoon718.tistory.com/189


참고

https://pilgoo.tistory.com/140

https://www.xpressengine.com/qna/21529873

https://pilgoo.tistory.com/140

https://pilgoo.tistory.com/138

https://www.xpressengine.com/tip/22546396

https://xetown.com/point_contents/1168446

https://xetown.com/tips/130833

https://boxfoxs.tistory.com/293


Profile
7
Lv
이온디

이온디 홈페이지는 간결하며,

 손쉽게 수정할 수 있습니다.

0개의 댓글

에디터
번호 제목 조회 수 추천 수 날짜
공지 [라이믹스] Another XE, 라이믹스 소개/설치하기 156 0 2019.01.09
공지 [XE소식] XE제작문의는 이온디 제작의뢰로 가주세요. 169 0 2018.12.10
공지 [사이트맵] XE/라이믹스 사이트맵 불편 기능을 알려주세요. 168 0 2017.09.23
378 [자유게시판] xe 고급메이발송모듈 7 0 4 일 전
377 [자유게시판] xe 이슈트래커 모듈 사용하기 - 실패 3 0 4 일 전
376 [자유게시판] XE 멀티도메인 이슈 0 0 10 일 전
375 [사용팁] [XE] 멀티도메인 사용시 관리자 로그인했을 때, '잘못된 요청입니다.' 메세지 출력되는 현상 7 0 16 일 전
374 [마이그레이션(이전)] 제로보드4를 XE로 이전하는 방법 31 0 2019.12.09
373 [아이디어/건의] 사용자별 테마 기능 39 0 2019.11.15
372 [아이디어/건의] 관심사기반 게시물 추천 16 0 2019.11.12
371 [아이디어/건의] 라이선스 이슈 14 0 2019.11.12
[사용팁] xe sketchbook 댓글 추천 새로고침 없이 34 0 2019.11.08
369 [개발팁] xe sketchbook 카카오톡 공유 39 0 2019.11.03
368 [개발팁] 게시판 리스트 중간에 구글 광고 띄우기 16 0 2019.11.03
367 [개발팁] 게시물 중간에 원하는 위치에 구글 광고 삽입하기 끝!; 19 0 2019.10.24
366 [자유게시판] 오래된 XE 설치 사이트 수리하기 53 0 2019.09.12
365 [사용팁] equeer layout 에 recaptcha 넣기 62 0 2019.05.10
364 [누리고] 누리고 장바구니 > 결제모듈 97 0 2019.05.10