묻고답하기
송동우님~~ㅠㅠㅠㅠㅠㅠ 죄송하지만 문의드립니다!
2011.12.16 14:29
안녕하세요. 묻고 답하기 게시판을 찾던 중,
아래의 글에서 송동우님께서 달아주신 댓글 덕분에 등록된 시간순으로 댓글이 매겨지게끔 해두었습니다. (익명게시판)
송동우님 댓글번호에 대해서..(로그인시에만 댓글이 표시됨=> 해결)
댓글(코멘트) 등록된 시간순으로 번호 매겨지게 하기
그런데 번호 매기기 기능이 공지글에서만 적용이 되고 일반 글에서는 아래처럼 오류가 납니다.
Warning: Invalid argument supplied for foreach() in/home/hosting_users/
계정명/www/xe/classes/template/TemplateHandler.class.php(220) : eval()'d code on line 22
이런 식으로요...
제 생각엔 뭔가 소스의 위치나 배열의 문제? 같은데... ㅠㅅㅠ
초보인 저는 까막눈이라 찾기가 어렵네요. 죄송하지만 한번 봐주시면 감사하겠습니다..ㅠㅠ
저는 기본으로 제공되는 게시판이 아닌 SketchBook5 Board Skin 을 사용하고 있습니다.
아래의 파일은 _comment.html 파일입니다.
─────────────────────────────────────────────
{@ $_comment_list = $oDocument->getComments() }
<!--@ foreach($_comment_list as $key => $comment)-->
{@ $no[]=$comment->regdate}
<!--@ end-->
{@ sort($no)}<!--// Comment Tag -->
<div cond="!$mi->fdb_style" class="fdb_tag<cmt_wrt_position=='cmt_wrt_btm'">!--@if($mi->cmt_wrt_position=='cmt_wrt_btm')--> bg_f_f9<!--@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="{$mi->fdb_hide}">
<li loop="$oDocument->getComments()=>$key,$comment" id="comment_{$comment->comment_srl}" class="fdb_itm clear<get('depth'+ '">!--@if($comment->get('depth'))--> re bg{($comment->get('depth'))%2}<!--@end-->" style="margin-left:{($comment->get('depth'))*20}px">
<b cond="$comment->get('depth')" class="ico_16px re"></b>
<!--// 프로필 -->
<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>
<!--// 댓글 정보 -->
<b>지정닉네임
<!--@ foreach($no as $k => $v)-->
<!--@ if($v==$comment->variables[regdate])-->
{@ $k += 1}{$k}
<!--@ end-->
<!--@ end--></b>
<span class="date"><font color="c4c4c4">{getTimeGap($comment->get('regdate'), "Y.m.d H:i")}</font></span> <small cond="$grant->manager || $mi->display_ip_address=='Y'">({$comment->getIpaddress()})</small>
<div class="meta">
<!--// 첨부파일 -->
<block cond="$comment->hasUploadedFiles()">
<a class="tg_btn2 ui-state-default" href="#files_{$comment->comment_srl}"><b class="ui-icon ui-icon-disk">Files</b>{$lang->uploaded_file} <small>({$comment->get('uploaded_count')})</small></a>
<div id="files_{$comment->comment_srl}" class="cmt_files tg_cnt2">
<button type="button" class="tg_blur2"></button>
<button type="button" class="tg_close2">X</button>
<ul class="wrp">
<li loop="$comment->getUploadedFiles()=>$key,$file"><em>•</em> <a class="bubble" href="{getUrl('')}{$file->download_url}" title="[File Size:{FileHandler::filesize($file->file_size)}/Download:{number_format($file->download_count)}]">{$file->source_filename}</a></li>
</ul>
</div>>
</block>
</div>
<!--// 댓글 본문 -->
<isAccessible">!--@if(!$comment->isAccessible())-->
<form action="./" method="get" onsubmit="return procFilter(this, input_password)">
<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="page" value="{$page}" />
<input type="hidden" name="document_srl" value="{$comment->get('document_srl')}" />
<input type="hidden" name="comment_srl" value="{$comment->get('comment_srl')}" />
<p>"{$lang->msg_is_secret}"</p>
<span class="itx_wrp">
<label for="cpw_{$comment->comment_srl}">{$lang->password}</label>
<input type="password" id="cpw_{$comment->comment_srl}" name="password" class="itx" />
<input type="submit" value="{$lang->cmd_input}" class="btn" />
</span>
</form>
<!--@else-->
{$comment->getContent(false)}
<!--@end-->
<!--// 편집 등 -->
<div class="fdb_nav img_tx">
<block cond="$mi->cmt_this_btn=='2' && $is_logged">
<a href="#" onclick="doCallModuleAction('comment','procCommentDeclare','{$comment->comment_srl}');return false"><span cond="$mi->declare_img" class="ico_16px" style="background:url({$mi->declare_img})"></span>{$lang->cmd_declare}</a>
<a href="#" onclick="doCallModuleAction('comment','procCommentVoteUp','{$comment->comment_srl}');return false"><span cond="$mi->cmt_vote_img" class="ico_16px" style="background:url({$mi->cmt_vote_img})"></span>{$lang->cmd_vote}</a>
<a cond="!$mi->cmt_vote_down" href="#" onclick="doCallModuleAction('comment','procCommentVoteDown','{$comment->comment_srl}');return false"><span cond="$mi->cmt_vote_down_img" class="ico_16px" style="background:url({$mi->cmt_vote_down_img})"></span>{$lang->cmd_vote_down}</a>
</block>
<a cond="(!$mi->cmt_this_btn && $is_logged) || $grant->manager" class="comment_{$comment->comment_srl}" href="#popup_menu_area" onclick="return false"><span class="tx_ico_chk">✔</span>{$lang->cmd_comment_do}</a>
<block cond="$comment->isGranted() || !$comment->get('member_srl')">
<a href="{getUrl('act','dispBoardModifyComment','comment_srl',$comment->comment_srl)}"><span class="ico_16px write"></span>{$lang->cmd_modify}</a>
<a href="{getUrl('act','dispBoardDeleteComment','comment_srl',$comment->comment_srl)}"><span class="ico_16px delete"></span>{$lang->cmd_delete}</a>
</block>
<a cond="$grant->write_comment && $oDocument->isEnableComment()" class="re_comment" href="{getUrl('act','dispBoardReplyComment','comment_srl',$comment->comment_srl)}"><span class="ico_16px reply"></span>{$lang->cmd_reply}</a>
<!--// 추천-비추천 -->
<span cond="$mi->cmt_vote!='N' && ($mi->cmt_vote=='1' || $comment->get('voted_count')!=0 || $comment->get('blamed_count')!=0)" class="vote">
<a class="bd_login" href="#" onclick="doCallModuleAction('comment','procCommentVoteUp','{$comment->comment_srl}');return false"|cond="$is_logged"><span cond="$mi->cmt_vote_img" class="ico_16px" style="background:url({$mi->cmt_vote_img})"></span> {$lang->cmd_vote}<b><em>{$comment->get('voted_count')?$comment->get('voted_count'):0}</em></b></a>
<a cond="!$mi->cmt_vote_down" class="bd_login" href="#" onclick="doCallModuleAction('comment','procCommentVoteDown','{$comment->comment_srl}');return false"|cond="$is_logged"><span cond="$mi->cmt_vote_down_img" class="ico_16px" style="background:url({$mi->cmt_vote_down_img})"></span> {$lang->cmd_vote_down}<b>{$comment->get('blamed_count')?$comment->get('blamed_count'):0}</b></a>
</span>
</div>
</li>
</ul><!--// 페이지 -->
<div cond="$oDocument->comment_page_navigation" class="bd_pg {$mi->fdb_hide}">
<a href="{getUrl('cpage',1)}#comment" class="direction" title="{$lang->first_page}">« <span>First</span></a>
<block loop="$page_no=$oDocument->comment_page_navigation->getNextPage()">
<strong cond="$cpage==$page_no" class="this">{$page_no}</strong>
<a cond="$cpage!=$page_no" href="{getUrl('cpage',$page_no)}#comment">{$page_no}</a>
</block>
<a href="{getUrl('cpage',$oDocument->comment_page_navigation->last_page)}#comment" class="direction" title="{$lang->last_page}"><span>Last</span> »</a>
</div>
<script type="text/javascript">
jQuery(function($){
var t = $('<default_style=='blog')-->#comment_{$oDocument->document_srl">!--@if($mi->default_style=='blog')-->#comment_{$oDocument->document_srl} .bd_pg<#comment">!--@else-->#comment .bd_pg<'">!--@end-->');
t.clone().removeClass('bd_pg').addClass('cmt_pg').appendTo(t.prev().prev());
});
</script>
댓글 2
-
송동우
2011.12.16 19:58
-
죽염
2011.12.16 20:14
그렇군요ㅠㅠ 공지글에서는 코멘트가 제대로 작동을 해서 단순한 문제였나 싶었는데.. 그럼 기다리겠습니다ㅠㅠ -
송동우
2011.12.16 21:39
사용하시는 게시판 스킨을 적용시키고 테스트 완료했습니다.
xe - modules - board - skins - sketchbook5 - _comment.html 열고
최상단에
{@
$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)}
이것 입력그리고
line 24 쯤에
<block loop="$no => $k,$v" cond="$v==$comment->variables[regdate]">
{@ $k++}
<? break ?>
</block><!--// 댓글 정보 -->
<div class="meta">{$k}여기서 붉은 색과 파란색 내용이 추가된 겁니다.
실제적으로 빨간색 부분이 번호를 출력하는 것이기 때문에
빨간색 부분은 출력이 원하는 곳에 넣으면 됩니다.
참고하신 내용은 xe_official 게시판 스킨을 기준으로 테스트 한 것입니다.
만일 다른 게시판 스킨을 사용한다면 상황에 따라 다소 수정이 되어져야 할 수도 있습니다.
급한 것이 아니라면 제가 시간이 날 때, 스킨을 다운로드 해서 적용하고 테스트 해 보겠습니다.