웹마스터 팁
댓글을 역순으로 출력하는 팁 (최근댓글이 가장 위에)
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
제목 | 글쓴이 | 날짜 |
---|---|---|
외부페이지를 생성해서 사용하면 무척 빠릅니다. [2] | 퍼니엑스이 | 2012.02.27 |
모바일 페이지가 스마트폰에서 가로폭이 넓게 나올경우의 팁 [2] | 카워시 | 2012.02.27 |
회원 가입 시 IP 중복 검사
[30]
![]() | CMD | 2012.02.24 |
v1.5를 위한 제어판 테마 애드온 정식
[4]
![]() | 우진홈 | 2012.02.13 |
댓글을 역순으로 출력하는 팁 (최근댓글이 가장 위에) [8] | sejin7940 | 2012.02.10 |
v1.5를 위한 팝업 모듈과 팝업 오프너 애드온
[55]
![]() | 우진홈 | 2012.02.06 |
부운영자
[26]
![]() | 송동우 | 2012.02.05 |
XE 1.5 이상으로 DB 이전시 일부 DB가 빠질 경우 - 내용추가(0203) [7] | sejin7940 | 2012.02.02 |
FTP로 폴더가 삭제가 안될때~!
[6]
![]() | 웹엔진 | 2012.01.30 |
v1.5 관리자 페이지에서 v1.4처럼 모듈 목록 펼쳐놓기
[14]
![]() | 우진홈 | 2012.01.21 |
모듈 이름은 대소문자 구분을 하지 않아요. | SkyKiDS | 2012.01.09 |
외부페이지에서 롤오버오류 !! | oem팩토리 | 2012.01.03 |
XE 1.5.1.1 업데이트후 갑자기 댓글 에디터가 나오지않는 문제 해결팁 [3] | 재주꾼 | 2012.01.02 |
XE 외부페이지 직접접속 차단 및 다국어 설정팁 [4] | 라르크앙시엘 | 2012.01.01 |
현재 트래픽 출력하기 [1] | 대류 | 2012.01.01 |
XE에서 Context의 이해 [3] | 우진홈 | 2011.12.28 |
확정변수 로 프린트 페이지 꾸미기(/print_page.html) | 세상의지배자 | 2011.12.26 |
XE 1.5.1 업그레이드시 조심해야 [1] | 소걸음 | 2011.12.23 |
친절한설명! 자신의홈페이지에 간단히 음악넣기
[10]
![]() | 준봉쿠 | 2011.12.18 |
XE관리자 메뉴 활용 방법 ^^
[24]
![]() | 똥똥 | 2011.12.09 |