게시판 목록에서 본인이 댓글단 여부를 확인하려고합니다.
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.4 |
문제 페이지 주소 | 비공개 (작성 후 5일 경과) |
아마.. 본인의 댓글개수를 count 해서 0보다 클경우라는 if 값으로 해야할 거 같은데..
본인 댓글 count 값을 불러오는 구문을 모르겠습니다..
해당 게시글의 총 댓글 개수는 {$document->getCommentCount()} 로 인지하고 있는데 로그인한 사용자 기준 댓글개수가 몇개인지 확인하려면 어떤 구문을 써야할까요?
댓글 8
<!--@foreach($document->getComments() as $key => $comment)-->
{@ if($logged_info->member_srl === $comment->get('member_srl')) $count++; }
<!--@end-->
<!--@if($count > 0)-->
본인이 댓글달았음
<!--@end-->
답변 감사합니다. 그런데 조금 문제가 발생되었습니다..
아마 게시글 개수만큼 문구가 불규칙적으로 추기표시가 되는걸로 확인됩니다.
소스를 넣은 경로는 다음과 같습니다.
<div class="member_{$document->get('member_srl')} tw-inline-flex tw-items-center">{$document->getNickName()}</div>
</div>
</span>
<span cond="$val->type === 'user_id' && $val->idx === -1">{$document->getUserID()}</span>
<span cond="$val->type === 'user_name' && $val->idx === -1">{$document->getUserName()}</span>
<span title="{zdate($document->get('regdate'), 'Y-m-d H:i:s')}" cond="$val->type === 'regdate' && $val->idx === -1"><span class="tw-mr-1" style="color :#67d2bf; ">등록일</span> {zdate($document->get('regdate'), 'Y-m-d H:i')}</span>
<span cond="$val->type === 'last_update' && $val->idx === -1"><span class="tw-mr-1" style="color :#67d2bf; ">최근 업데이트</span> {zdate($document->get('last_update'),'Y.m.d H:i')}</span>
<span><!--@foreach($document->getComments() as $key => $comment)-->{@ if($logged_info->member_srl === $comment->get('member_srl')) $count++; }<!--@end--><!--@if($count > 0)-->본인이 댓글달았음<!--@else-->확인 필요<!--@end--></span>
표시할 할 항목의 순서를 게시판 설정에 따르도룩 코딩된 목록 스타일의 경우 순번에 따른 위치 출력을 고려해야 할겁니다.
지금 일부 보여주신 코드는 반복문 안쪽일 겁니다.
다른 항목을 유심히 보시면 반복해서 출력되지 않고 한번만 출력되도록 한 것이 보일텐데요.
추거하신 것 span 에 cond="$val->idx === -1" 을 넣어보세요.
잘 안되면 반복문 밖으로 빼는 방법이 있습니다. cond 구문 없이요.
동일하게 중복값으로 확인되고 있습니다 ㅠㅠ..
말씀해주신것처럼 반복문 안쪽에 위치해있어서 코드를 내부에삽입을했고.. 유추하셨던 내용처럼 반복문안에서 게시글개수만큼 반복되다보니까 발생되는것 같습니다.. 방법이 있을까요?
<span cond="$val->idx === -1"><!--@foreach($document->getComments() as $key => $comment)-->{@ if($logged_info->member_srl === $comment->get('member_srl')) $count++; }<!--@end--><!--@if($count > 0)-->본인이 댓글달았음<!--@else-->확인 필요<!--@end--></span>
게시글 갯수 만큼이 아니고 표시 항목 숫자 만큼 일 것입니다.
해당 순번을 고려해서 위치를 찾아야 하는 방식의 게시판 스킨이니 목록 순서를 조정하는 반복문 밖으로 위치를 빼보세요.
이 경우는 cond="$val->idx === -1" 는 빼셔야 합니다.
표기 위치 별도로 구문을
<!--@foreach($document->getComments() as $key => $comment)-->{@ if($logged_info->member_srl === $comment->get('member_srl')) $count++; }<!--@end-->
<li loop="$document_list=>$no,$document" class="app-active"|cond="$document_srl==$document->document_srl">
위와 같이 li loop 상단에 적용을 해도 동일하게 중복값들이 표기되고 있습니다..
@람보 님도 정말 감사합니다.