묻고답하기
댓글에 번호를 달았는데 문제가 생겼습니다.
2014.06.14 13:42
http://www.xpressengine.com/qna/21136497
댓글에 번호를 달고 싶어서 검색해보았더니 위와 같은 답변이 있어 쉽게 적용할 수 있었습니다.
그런데 막상 적용하고 나니 문제가 있더라고요.
우측처럼 잘 작동 되다가도, 달려있는 댓글이 하나인 경우 좌측과 같은 에러가 생깁니다.
이러한 경우 어떤 부분을 수정해야 에러 없이 사용 할 수 있을까요?
댓글 8
-
SeungXE
2014.06.14 14:37
-
포니툰1
2014.06.14 15:21
감사합니다. 덕분에 문제 해결하였습니다!(__)
어떤 문제인가 확신이 없었는데, 정상작동한다는 답변을 보는 순간 db prefix 부분을 수정 사용중이던게 확 떠오르더라고요. 재설치 후 수정없이 사용하니 이상없이 작동 됩니다. 며칠동안 끙끙 앓던 부분이 등잔 밑이었다니..답변 정말 고맙습니다!ㅠㅠ
-
포니툰1
2014.06.14 17:28
{@ $oDB = &DB::getInstance(); $query = $oDB->_query('select regdate from xe_comments where document_srl = '.$document_srl); $result = $oDB->_fetch($query); $no = array(); } <block loop="$i=0;$i<count($result);$i++"> {@ $no[] = $result[$i]->regdate} </block> {@ sort($no)} <!--// Comment v2 --> <a cond="$mi->fdb_style=='fdb_v2' && $mi->default_style!='guest'" class="nametag ui_font bubble" href="#" onclick="jQuery(this).nextAll('ul,.bd_pg').slideToggle();return false" title="Click! {$lang->comment} {$lang->cmd_view}~"><strong class="bg_color bx_shadow">Comment <b>'{$oDocument->getCommentcount()}'</b></strong></a> <!--// Comment v1 --> <block cond="$oDocument->getCommentcount()"> <div cond="!$mi->fdb_style" class="fdb_tag<!--@if($mi->cmt_wrt_position=='cmt_wrt_btm')--> bg_f_f9 css3pie<!--@end-->"> <a class="ui_font bubble" href="#" onclick="jQuery(this).parent().nextAll('ul,.bd_pg').slideToggle();return false" title="{$lang->comment} {$lang->cmd_view}">Comments <b>'{$oDocument->getCommentcount()}'</b></a> </div> <ul class="fdb_lst_ul {$mi->fdb_hide}"> <block loop="$oDocument->getComments()=>$key,$comment"> <!--@if($comment->get('depth'))--> <li id="comment_{$comment->comment_srl}" class="fdb_itm clear re bg{($comment->get('depth'))%2}" style="margin-left:{(($comment->get('depth')-1)%10+1)*2}%"> <i class="ico_16px re"></i><i cond="$comment->get('depth')>10" class="ico_16px re rere"></i> <!--@else--> <li id="comment_{$comment->comment_srl}" class="fdb_itm clear"> <!--@end--> <!--// 프로필 --> <block cond="!$mi->profile_img"> <img cond="$comment->getProfileImage()" class="profile img" src="{$comment->getProfileImage()}" alt="profile" /> <span cond="!$comment->getProfileImage()" class="profile img no_img">?</span> </block> <block loop="$no => $k,$v" cond="$v==$comment->get('regdate')"> {@ $k++} <? break ?> </block> <!--// 댓글 정보 --> <div class="meta">{$k}
재질문 죄송합니다.T_T
아까 테스트 해보고 이상 없어서 해결된줄 알고 있었는데, 수정 할 때 소스를 잘못 건들인 모양이더라구요. 다시 제대로 수정하고보니 위와 같은 문제가 여전하여 다시 질문 드립니다. 본문 게시물 답변에 따라 추가수정한 부분이고, 현재 xe 1.7.5, 스케치북5 사용중입니다.ㅠㅠ
-
SeungXE
2014.06.14 18:13
이방식은 쿼리를 따로 날려서 별로 좋지 않은 것 같습니다.
일단은 제가 사용중인 게시판의 코드를 알려드릴게요. 익명게시판이라 닉네임을 주석 처리한것 제외하면 일반 스케치북과 소스가 동일합니다. 추가적으로 운영자 표시 추가했구요.
<!--// Comment v2 --> <a cond="$mi->fdb_style=='fdb_v2' && $mi->default_style!='guest'" class="nametag ui_font bubble" href="#" onclick="jQuery(this).nextAll('ul,.bd_pg').slideToggle();return false" title="Click! {$lang->comment} {$lang->cmd_view}~"><strong class="bg_color bx_shadow">댓글 <b>'{$oDocument->getCommentcount()}'</b>개</strong></a> <!--// Comment v1 --> <block cond="$oDocument->getCommentcount()"> <div cond="!$mi->fdb_style" class="fdb_tag<!--@if($mi->cmt_wrt_position=='cmt_wrt_btm')--> bg_f_f9 css3pie<!--@end-->"> <a class="ui_font bubble" href="#" onclick="jQuery(this).parent().nextAll('ul,.bd_pg').slideToggle();return false" title="{$lang->comment} {$lang->cmd_view}">댓글 <b>{$oDocument->getCommentcount()}</b>개</a> </div> <ul class="fdb_lst_ul {$mi->fdb_hide}"> {@ $comment_no = array()} <block loop="$oDocument->getComments()=>$key,$comment"> {@ $comment_no[] = $comment->getRegdate('YmdHis')} </block> {@ sort($comment_no)} <block loop="$oDocument->getComments()=>$key,$comment"> <!--@if($comment->get('depth'))--> <li id="comment_{$comment->comment_srl}" class="fdb_itm clear re bg{($comment->get('depth'))%2}" style="margin-left:{(($comment->get('depth')-1)%10+1)*2}%"> <i class="ico_16px re"></i><i cond="$comment->get('depth')>10" class="ico_16px re rere"></i> <!--@else--> <li id="comment_{$comment->comment_srl}" class="fdb_itm clear"> <!--@end--> <?php /* <!--// 프로필 --> <block cond="!$mi->profile_img"> <img cond="$comment->getProfileImage()" class="profile img" src="{$comment->getProfileImage()}" alt="profile" /> <span cond="!$comment->getProfileImage()" class="profile img no_img">?</span> </block> */ ?> <!--// 댓글 정보 --> <div class="meta"> <?php /*<a cond="$comment->member_srl" href="#popup_menu_area" class="member_{$comment->member_srl}" onclick="return false">{$comment->getNickName()}</a> <a cond="!$comment->member_srl && $comment->homepage" href="{$comment->getHomepageUrl()}" target="_blank">{$comment->getNickName()}</a> <b cond="!$comment->member_srl && !$comment->homepage">{$comment->getNickName()}</b>*/ ?> <!--@if($comment->get('member_srl') == '4')--> <strong style="color:#00B26B;">운영자</strong><span style="color: gray;">({array_search($comment->getRegdate('YmdHis'), $comment_no) + 1}플)</span> <!--@elseif($oDocument->get('member_srl') == $comment->get('member_srl'))--> <strong>글쓴이</strong> <span style="color: gray;">({array_search($comment->getRegdate('YmdHis'), $comment_no) + 1}플)</span> <!--@else--> <span style="color: gray;">{array_search($comment->getRegdate('YmdHis'), $comment_no) + 1}플</span> <!--@end--> <span class="date">{getTimeGap($comment->get('regdate'), "Y.m.d H:i")}</span> <small cond="$grant->manager || $mi->display_ip_address" class="m_no">({$comment->getIpaddress()})</small> <span cond="$comment->isSecret()" class="ico_secret">SECRET</span> <!--// 첨부파일 -->
하이라이트 된 부분 참조하시면 될 듯 합니다^^
-
포니툰1
2014.06.14 18:57
알려 주신데로 수정하니 문제 없이 잘 작동합니다! 그런데 이렇게 수정하고 나면 코멘트 페이지가 넘어가는 순간 2페이지의 댓글 넘버링이 1부터 다시 카운트가 되네요. 댓글 페이지를 넘겨서도 댓글 넘버링을 유지 시키고 싶은데..방법이 없을까요ㅠㅠ
-
SeungXE
2014.06.14 19:26
이부분은 페이지 변수 $page_no 를 기준으로 다시 계산하는 소스를 짜시면 됩니다.
전 페이지 없이 사용중이라...ㅎㅎ
-
mAKEkr
2014.06.14 19:16
-
포니툰1
2014.06.15 00:34
드디어 원인 해결 하였습니다.ㅠㅠ 이런것에 문외한이라..두 분의 답변이 도움 많이 되었어요. 두 분 모두 짬내어 답변 주셔서 감사드립니다!
적용한 소스를 올려주세요^^;;
저는 하나만 달려도 정상 작동 하더라구요~