Profile
이온디

5 일 전

사용팁

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

조회 수 18 추천 수 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, 라이믹스 소개/설치하기 42 0 2019.01.09
공지 [XE소식] XE제작문의는 이온디 제작의뢰로 가주세요. 28 0 2018.12.10
공지 [사이트맵] XE/라이믹스 사이트맵 불편 기능을 알려주세요. 50 0 2017.09.23
372 [아이디어/건의] 관심사기반 게시물 추천 2 0 1 일 전
371 [아이디어/건의] 라이선스 이슈 1 0 1 일 전
[사용팁] xe sketchbook 댓글 추천 새로고침 없이 18 0 5 일 전
369 [개발팁] xe sketchbook 카카오톡 공유 15 0 10 일 전
368 [개발팁] 게시판 리스트 중간에 구글 광고 띄우기 4 0 10 일 전
367 [개발팁] 게시물 중간에 원하는 위치에 구글 광고 삽입하기 끝!; 9 0 20 일 전
366 [자유게시판] 오래된 XE 설치 사이트 수리하기 36 0 2019.09.12
365 [사용팁] equeer layout 에 recaptcha 넣기 47 0 2019.05.10
364 [누리고] 누리고 장바구니 > 결제모듈 24 0 2019.05.10
363 [아이디어/건의] 오프라인 강좌 결제 11 0 2019.04.17
362 [추천자료] [XE끌어올리기] 유투브를 배경음악으로 - 29 0 2019.04.06
361 [사용팁] nginx xe-rewrite.conf 300 0 2019.03.22
360 [아이디어/건의] [계획] 구글애드센스 디자인의 XE 관리자 테마 만들어보기 75 0 2019.03.21
359 [사용팁] contentextended 안될 때 33 0 2019.01.21
358 [사용팁] 대규모 사이트에서의 XE 세팅방법 (Thanks to 기진곰) 65 0 2019.01.17