본문에 댓글을 남겼는지 체크해서 활용하기 - 게시판스킨강좌, 그누보드5강좌

본문 바로가기
전체검색

게시판스킨강좌

그누보드, 영카트 초보 제작자분들을 위한 다양한 스킨 제작 활용 팁을 공유합니다.

본문에 댓글을 남겼는지 체크해서 활용하기

관리자 17-08-14 13:22

본문에 댓글을 남긴 회원인지 체크하는 방법입니다.

예를 들어 댓글을 남긴 사람에게만 특정 영역을 보이게 하는 용도로 사용할 수가 있습니다.


수정파일 : view.skin.php

 

상단 ?> 안쪽에 추가합니다.

 

// 댓글을 남겼는지 확인

$sql = " select count(*) as cnt from {$write_table} where wr_parent = '{$view['wr_id']}' and wr_is_comment = 1 and mb_id = '{$member['mb_id']}' ";

$cmt_row = sql_fetch($sql);

 

 

 

활용 예제 1


댓글을 남긴 사람에게만 링크 주소 출력하기

 

view.skin.php 파일 상단에 일단 위에서 설명한 내용을 추가하고

 

if ($view['link']) {

여기를 이렇게 변경

if ($view['link'] && ($is_admin || $cmt_row['cnt'] || ($write['mb_id'] == $member['mb_id']))) {

 

관리자와 해당 글에 코멘트를 남긴 사람에게만 링크 주소가 출력됩니다.

 

 

활용 예제 2

 

댓글을 남긴 사람에게만 다운로드 주소 출력하기

 

첨부파일 시작 부분에 있는 아래 내용 중에서..

 

<?php if($cnt) { ?>

<!-- 첨부파일 시작 { -->

<section id="bo_v_file">

    <h2>첨부파일</h2>

 

제일 윗부분 빨간색 줄만 이렇게 수정

 

<?php if($cnt && ($is_admin || $cmt_row['cnt'] || ($write['mb_id'] == $member['mb_id']))) { ?>

 

 

 

활용 예제 3

 

댓글을 남긴 사람에게만 본문 내용 출력하기

 

<?php echo get_view_thumbnail($view['content']); ?>

 

여기를 이렇게 수정

 

<?php if ($is_admin || $cmt_row['cnt'] || ($write['mb_id'] == $member['mb_id'])) { ?>

    <?php echo get_view_thumbnail($view['content']); ?>

<?php } else { ?>

    댓글을 남겨야 본문 내용을 열람할 수가 있습니다.

<?php } ?>

 

 

위 예제들에서처럼 특정 영역을 이렇게 감싸주면 됩니다.

 

if ($is_admin || $cmt_row['cnt'] || ($write['mb_id'] == $member['mb_id'])) {

.........................

}

 

구체적으로 다시 살펴보면 이런 의미입니다.

 

$is_admin 관리자이거나

$cmt_row['cnt'] 댓글을 작성한 회원이거나

$write['mb_id'] == $member['mb_id'​] 본인이 작성한 글이라면..



그리고 댓글 작성 개수는 이렇게 확인할 수 있고

내가 작성한 댓글 수 : <?php echo $cmt_row['cnt'] ?>

개수를 활용하고 싶으면 조건문을 이런식으로 하면 됩니다.

$cmt_row['cnt'] > 10

댓글목록 +5

댓글목록

profile_image

신비님의 댓글

신비 작성일

아주 유용하게 써먹을 수 있는 팁이네요. 감사합니다.

profile_image

신비님의 댓글

신비 작성일

활용 예제 3에서 글 작성자 체크 부분을 $view['mb_id'] == $member['mb_id'​]  처럼 하는 게 맞지 않나요?
저는 $view 변수는 view.skin.php 파일에서, $write 변수는 write.skin.php 파일에서 사용하는 걸로 아는데...

profile_image

관리자님의 댓글의 댓글

관리자 작성일

view 에서는 write 도 사용할 수가 있습니다.
<?php echo $write['mb_id'] ?> 이렇게 해보면 똑같이 나옵니다.
view 페이지에서 이렇게 찍어보세요. <?php echo print_r2($write); ?>
bbs/view.php 에서도 본인글인지 체크하는 부분이 있는데 거기도 저렇게 되어 있습니다. 아무거나 상관 없을 겁니다.

profile_image

신비님의 댓글의 댓글

신비 작성일

아하 그렇군요....처음 알았어요. 좋은 팁 감사합니다.

profile_image

유유님의 댓글

유유 작성일

필요로했던건데 이렇게 올려주셔서 감사합니다.

로그인 후 댓글 작성 가능합니다.
그누스킨닷컴

그누스터디는 그누보드, 영카트를 이용하시는 초보 사용자를 위한 정보를 공유합니다.

E-MAIL : gnustudy@naver.com / 카카오톡 : gnustudy / 텔레그램 : gnustudy
제작 문의를 제외한 일반 문의는 QA 게시판을 이용해주세요.

Copyright © GNUSTUDY. All rights reserved.