웹마스터 팁
댓글을 역순으로 출력하는 팁 (최근댓글이 가장 위에)
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
-
감사합니다.
멋진 팁입니다.
처음엔 헷갈려 망설렸는데 수정하니 잘 되네요.
-
라싸
2012.09.30 12:17
좋은 팁 고맙습니다 :)
-
흠... 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페이지가 로드되지않고 마지막페이지가 로드되네요 ㅜ
감사합니다 ^^
제목 | 글쓴이 | 날짜 |
---|---|---|
로그인 후 그룹별로 다른 페이지로 가기 - 업데이트판 v1.5 [19] | 무대포2 | 2009.06.24 |
XE용 query xml 방식으로 일반 테이블도 접근 처리 하기 [1] | 라르게덴 | 2009.06.18 |
로그인 페이지 만드는 방법 [5] | 산토 | 2009.06.12 |
BGM 가로스크롤바 없애는 방법.. | 청개굴이 | 2009.06.03 |
별도 페이지 로그인방법 | cornet | 2009.05.21 |
게시판에서 헤더와 풋부분을 붙이면 이미지 출력이 되지 않아요.. [2] | 율이★ | 2009.05.19 |
까페 아이디 삭제후 동일 아이디로 생성하는 방법 | 키스메리 | 2009.05.15 |
내가 작성 한 글에 대한 일괄 삭제/이동/복사 권한 주기
[2]
![]() | 개돌 | 2009.05.15 |
XpressEngine 1.2.2용 배경음악 틀 [4] | 마빈박사359 | 2009.05.10 |
1.2.2 업데이트 이후 위젯이 출력안되시는 분들 [1] [1] | 반도체맨 | 2009.05.01 |
사랑비BGM 플레이기 설치하고 제어하기 [2] | 스유군 | 2009.04.28 |
XE 위키에 최근 접속 페이지 정보 출력
![]() | 개돌 | 2009.04.27 |
BNU님의 Planner XE 1.2 버젼(일정관리)
[9]
![]() | 개돌 | 2009.04.21 |
다양한 언어로 홈페이지 서비스하기 - 무식한 방법 [4] | 멀리서 | 2009.04.21 |
홈페이지 타이틀이 $user_lang->home ,freeboard등으로 나오는 문제 수정방법(자체해결) [1] | 정박사닷컴 | 2009.04.18 |
페이지 및 게시판 메뉴 경로
[2]
![]() | 자반튀김 | 2009.04.15 |
게시판에서 확장 변수를 쓰는 경우 1.2.0 이상 버전으로 업그레이드하기 전에 패치하시기 바랍니다.
[5]
![]() | mooo | 2009.04.14 |
주민등록 입력 폼 1.2.0
[55]
![]() | 개돌 | 2009.04.10 |
IIS + PHP + MySQL5 설치 시 버젼 주의 [1] | 개돌 | 2009.04.10 |
요청하신 모듈을 찾을 수 없습니다 문제해결 방법 [2] | 반도체맨 | 2009.04.09 |
좋은팁 항상 감사합니다.!!
보드스킨 역순이 필요했는데 코어수정뿐이 방법이 없나보군요.. 으~