웹마스터 팁
댓글을 역순으로 출력하는 팁 (최근댓글이 가장 위에)
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페이지가 로드되지않고 마지막페이지가 로드되네요 ㅜ
감사합니다 ^^
제목 | 글쓴이 | 날짜 |
---|---|---|
새글/업데이트/이미지/동영상/첨부파일 아이콘 없애기 [18] | 老姜君 | 2008.11.21 |
무료 psd, html 탬플릿, 아이콘 사이트공유합니다. | 허허길드짱 | 2018.11.27 |
act로 다른 페이지 보여주기 [1] | 이온디 | 2018.07.25 |
단축url API 사용하시는 분들... | 미스터강 | 2018.06.01 |
확장변수값 계산하여 게시판 리스트에 출력하기(총계 게시판) [1] | klaist | 2009.11.30 |
PHP 뮤텍스 락 설치법(memcached 활용) [1] | 에이트 | 2018.09.03 |
PHP 뮤텍스 락 설치법(redis 활용) | 에이트 | 2018.09.11 |
위젯 가운데 정렬 하는법 [3] | 불금 | 2015.07.05 |
요즘 제가 jquery 웹앱 솔루션을 개발했습니다. [2] | 안드류KIM | 2018.04.03 |
썸네일 방식으로 이미지 원본 주소 가져오기 | 에이트 | 2018.08.22 |
다른 서버 간 서브도메인 쿠키 공유 | 에이트 | 2018.08.04 |
DB를 손쉽게 관리 [1] | EISOFT | 2018.07.15 |
CKEditor 이용시 몇가지 유용한 설정 [11] | prologos | 2015.05.02 |
Google 스프레드시트에서 구글 번역으로 XE 다국어 내용 만들기(Lang.xml 용도) | 달빛늑대 | 2018.07.17 |
Code-Highlighter 3.0.83 가로 스크롤바를 어디론가 보내 버리고 싶으신 분. | 달빛늑대 | 2018.07.16 |
[수정]알림센터 Lite에 메일발송 기능을 추가하기 [11] | 매실茶 | 2013.11.25 |
고정도메인 host 변경하기 | 해피정닷컴 | 2016.03.11 |
도메인 변경 또는 설치 폴더 변경시 이미지 주소변경하기 | 해피정닷컴 | 2018.06.08 |
게시판글 엑셀 파일 보내기 php7용 | 황금날개 | 2018.06.05 |
글 작성시 미리 저장된 서식 불러오기. [10] | 개돌 | 2009.07.09 |
좋은팁 항상 감사합니다.!!
보드스킨 역순이 필요했는데 코어수정뿐이 방법이 없나보군요.. 으~