웹마스터 팁
댓글을 역순으로 출력하는 팁 (최근댓글이 가장 위에)
2012.02.10 22:02
아마도 많은 분들이 궁금해하셨을만한 기능일듯한데.. 몇년이 지나도 이상하게 아직 관련된 팁이 안 올라오네요
예전에 만들어뒀던 팁인데... 아직까지 관련글이 안 올라오길레 공개해둡니다 ^^
현재 게시판의 댓글들은... 무조건 시간순으로 노출이 됩니다.
그나마 댓글이 한 페이지 내에서 다 나오면, 마우스 스크롤로 쭉 내려서 보면 되지만..
골치아픈건, 댓글수가 설정해둔 한페이지 개수를 넘어갔을때... 굉장히 보기 안 좋게 나오는점이죠 ^^;
공개하는 팁은.. 댓글 역순 출력기능입니다. (최근댓글이 가장 위에 나오는거죠)
불가피하게 Core 도 수정해야하고, query 도 하나 추가해야하지만..
찬찬히 따라해보시면 아마 무사히 적용가능하실겁니다.
단지 이 팁 자체는 1.4 에서 만들어진거여서 1.5에서 테스트는 안 해봤는데, 뭐.. 아마 될꺼예요 ^^;;;
(확인해보니 1.5 에서는 // 정해진 수에 따라 목록을 구해옴 문구가 영어로 // get a list of comments 로 되어있네요)
XE 사용에 도움 되시길 바라면서.. ^^
============ 댓글 역순으로 하는 방법 ============
1. modules/comment/comment.model.php 에서
function getCommentList($document_srl, $page = 0, $is_admin = false, $count = 0) { 함수 내부에서
if(!$page) $page = (int)( ($oDocument->getCommentCount()-1) / $comment_count) + 1;
// 정해진 수에 따라 목록을 구해옴
$args->document_srl = $document_srl;
$args->list_count = $comment_count;
$args->page = $page;
$args->page_count = 10;
$output = executeQueryArray('comment.getCommentPageList', $args);
부분을 찾아서... 아래처럼 수정할것 (빨간색 부분에, 댓글 역순으로 출력할 게시판 mid 값으로 바꿔주세요)
// 정해진 수에 따라 목록을 구해옴
$args->document_srl = $document_srl;
$args->list_count = $comment_count;
$args->page = $page;
$args->page_count = 10;
// 페이지 역순 기능 위해서 수정 (sejin7940)
if(Context::get('mid')=="board_chat") {
if(!Context::get('cpage')) $args->page=1; // 120725 수정부분 (가장 최신 댓글이 있는 첫 페이지가 디본이 되도록)
$output = executeQueryArray('comment.getCommentPageListReverse', $args);
}
else {
if(!$page) $page = (int)( ($oDocument->getCommentCount()-1) / $comment_count) + 1;
$output = executeQueryArray('comment.getCommentPageList', $args);
}
2. modules/comment/queries/getCommentPageListReverse.xml 파일을 추가할 것
<query id="getCommentPageListReverse" action="select">
<tables>
<table name="comments" alias="comments" />
<table name="comments_list" alias="comments_list" />
</tables>
<columns>
<column name="comments.*" />
<column name="comments_list.depth" alias="depth" />
</columns>
<conditions>
<condition operation="equal" column="comments_list.document_srl" var="document_srl" notnull="notnull" pipe="and" />
<condition operation="equal" column="comments_list.comment_srl" var="comments.comment_srl" filter="number" pipe="and" />
<condition operation="more" column="comments_list.head" default="0" pipe="and" />
<condition operation="more" column="comments_list.arrange" default="0" pipe="and" />
</conditions>
<navigation>
<list_count var="list_count" default="list_count" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
<index var="sort_index" default="head" order="desc" />
<index var="sort_index" default="comments_list.depth" order="asc" />
</navigation>
</query>
댓글 8
-
이지데브
2012.02.11 12:33
-
sorigongan
2012.08.29 14:28
감사합니다.
멋진 팁입니다.
처음엔 헷갈려 망설렸는데 수정하니 잘 되네요.
-
라싸
2012.09.30 12:17
좋은 팁 고맙습니다 :)
-
BonaSera
2013.07.04 18:13
흠... 1.5인데 안되는 것 같습니다.
모듈네임 정확하게 써줬는데 ,,
-
언제나즐기자
2017.01.06 10:08
좋은 팁 감사합니다.
스케치북 게시판 쓰고 있는데, 2017년 현재 XE 1.8.27 버전에서도 적용이 되네요.
-
언제나즐기자
2017.01.06 10:36
1번에서는 모든 게시판의 댓글을 다 역순으로 하기 위해서 조건문을 제거하고,
$args->page=1;
$output = executeQueryArray('comment.getCommentPageListReverse', $args);이 부분만을 넣었더니 역순으로 잘 적용이 되었습니다.
-
대암지기
2017.01.25 14:51
xe ver. 1.8.29에 적용해도 문제는 없습니다.
이 팁을 적용하고 대댓글을 작성하면, 대댓글 정렬이 엉키어 버립니다.
-
forest535
2018.03.17 14:51
1.9x + 스케치북 아주 자~~알됩니다. 대댓글도 엉키지 않네요.
그러나 댓글을 페이지로 나뉘었을때, 새댓글을 등록하면 새 댓글이있는 1페이지가 로드되지않고 마지막페이지가 로드되네요 ㅜ
감사합니다 ^^
제목 | 글쓴이 | 날짜 |
---|---|---|
인스타그램 해시태그 회원가입 없이 끌어오기 | 외인 | 2017.02.08 |
jQuery 플러그인 모음 | Ansi™ | 2017.01.25 |
DOS 공격에 대한 방어 프로그램입니다. | 마루디자인 | 2017.01.23 |
방명록 형태 사용시 제목이 길게 저장되게 하려면 | sejin7940 | 2016.12.23 |
숫자 아이디 허용 방법 | 410contents | 2016.12.13 |
클라우드플레어 사용시 서버 IP 노출방지 체크리스트 | gnbstory | 2016.12.09 |
간단한 xe 관련 자바스크립트 질문 [1] | 마든남 | 2016.12.01 |
가상서버 고르실때 참고하시면 좋겠네요. | 로니 | 2016.11.24 |
네이버 웹마스터도구 최적화검증과 GZIP | 영흥도우럭1 | 2016.11.18 |
모바일환경에서, 스케치북스킨의 경우 포인트레벨아이콘이나 닉네임이미지 가 안 나타나는 경우 수정법 | sejin7940 | 2016.11.13 |
구글애드센스 한페이지에 3개 초과하시면 안됩니다. [3] | 최윤한 | 2016.11.11 |
관리자페이지의 게시판 목록에서 '모듈분류'로만 검색이 안 되는 버그 수정 | sejin7940 | 2016.11.09 |
내 작성글 보기에서 익명게시판에서 작성한 내 글도 보이게 하기 위해서 | sejin7940 | 2016.10.19 |
사이트 운영하시는분들 단체메일 가급적 보내지 마세요. | 최윤한 | 2016.10.19 |
관리자페이지 첫페이지에서 최근글 / 최근댓글 리스트에서 닉네임 대신에 날짜가 나오게 하는 방법 | sejin7940 | 2016.10.19 |
초보자분들 윈도우에 apmsetup 쓰지 마세요 느립니다. [1] | 최윤한 | 2016.09.20 |
우분투에 apm 서버 완벽하게 설치하기 | 로니 | 2016.09.13 |
무료 폰트 모음 | boomstop | 2016.09.13 |
클라우드 플레어 질문있습니다. [2] | 생컨38889 | 2016.08.31 |
xe 사이트에 응용프로그램으로 오토포스팅은 안됩니다. | 최윤한 | 2016.08.17 |
좋은팁 항상 감사합니다.!!
보드스킨 역순이 필요했는데 코어수정뿐이 방법이 없나보군요.. 으~