게시물 댓글과 대댓글을 글쓴이와 댓글 쓴 사람만 볼 수 있도록 하려고 합니다.
본문
안녕하세요.
제목처럼 댓글과 대댓글을 글쓴이와 댓글 쓴 사람만 열람할 수 있도록 하려고 하는데요.
그누스터디 강좌(https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=129)를 보고 똑같이 적용해봤습니다만
댓글은 정상적으로 작동되는데 대댓글의 경우 출력 되지 않습니다ㅜㅜ
챗gpt로 이것 저것 다 해봤는데 원하는 답을 못 찾아서 이렇게 질문을 드려봅니다.
아래는 뷰 코멘트 파일 코드입니다.
<div class="view_com_list">
<ul class="view_com_list_ul">
<?php
$cmt_amt = count($list);
for ($i=0; $i<$cmt_amt; $i++) {
if(!$is_admin && $list[$i]['mb_id'] != $member['mb_id'] && $write['mb_id'] != $member['mb_id']) continue;
$comment_id = $list[$i]['wr_id'];
$cmt_depth = strlen($list[$i]['wr_comment_reply']) * 20;
$comment = $list[$i]['content'];
$comment = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $comment);
$cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결
$c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w';
$c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
$is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0;
?>
<li class="a_comment" id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-top-color:#e0e0e0"<?php } ?>>
<div class="box">
<div class="top">
<div class="thum"><?php echo get_member_profile_img($list[$i]['mb_id']) ?></div>
<div class="name"><?php echo $list[$i]['name'] ?></div>
<div class="date"><?php echo $list[$i]['datetime'] ?></div>
</div>
<div class="cont">
<?php echo $comment ?>
</div>
<?php if($is_comment_reply_edit){ ?>
<ul class="btn_basic_ul">
<?php if ($list[$i]['is_reply']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?>
<?php if ($list[$i]['is_edit']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?>
<?php if ($list[$i]['is_del']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?>
</ul>
<?php } ?>
<span id="edit_<?php echo $comment_id ?>" class="bo_vc_w"></span><!-- 수정 -->
<span id="reply_<?php echo $comment_id ?>" class="bo_vc_w"></span><!-- 답변 -->
<input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>" id="secret_comment_<?php echo $comment_id ?>">
<textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea>
</div>
</li>
<?php } ?>
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
</ul>
<nav class="pg_wrap" id="cmt_paging"></nav>
</div>
어떻게 해야 대댓글까지 정상적으로 보일 수 있을지 조언 좀 얻고 싶습니다!
!-->답변 2
li 영역을 아래로 감싸보세요.
<?php if($list[$i]['mb_id'] == $member['mb_id'] || $is_admin ){ ?>
// 글 작성자와 현재 로그인한 아이디가 같거나 관리자는 보여짐
<?php } else { ?>
// 같지 않음.
<?php } ?>
li 를 감싼다고 생각하시면됩니다.
ul 내에서 li 가 반복되는 형태이기 때문에..
답변을 작성하시기 전에 로그인 해주세요.