게시글 비공개 관련질문드려봅니다.
본문
게시판의 뷰페이지에서 관리자가 비공개를하면 게시물이 안보이게 하고싶은데요.
이거 어려울까요.?
답변 2
여분필드를 다쓰고 있다면 wr_option 필드를 이용하시는걸 추천드리고 싶습니다.
1.write.skin.php
<?php if($is_admin){ ?>
<input type="checkbox" id="closed" value="closed" name='closed' <?php if (strstr($write['wr_option'], 'closed')){echo "checked";}?>> <label for="closed">비공개</label>
<?php }?>
2.write_update.php
$mail = '';
if (isset($_POST['mail']) && $_POST['mail']) {
if(preg_match('#mail#', strtolower($_POST['mail']), $matches))
$mail = $matches[0];
}
밑에 추가
$closed = '';
if (isset($_POST['closed']) && $_POST['closed']) {
if(preg_match('#closed#', strtolower($_POST['closed']), $matches))
$closed = $matches[0];
}
SQL문중에
[insert]
wr_option = '$html,$secret,$mail', ==> wr_option = '$html,$secret,$mail,$closed',
[update]
wr_option = '{$html},{$secret},{$mail}', ==> wr_option = '{$html},{$secret},{$mail},{$closed}',
3.view.skin.php
<?php if (strstr($view['wr_option'], 'closed')){?>
비공개 내용
ex) 해당게시물은 관리자에 의해 비공개 처리되었습니다.
<?php }else{?>
기존 게시물 내용
<?php }?>
4. 테이블 필드변경
ALTER TABLE 해당테이블명
CHANGE COLUMN `wr_option` `wr_option` SET('html1','html2','secret','mail','closed') NOT NULL AFTER `ca_name`;
단순히 관리자가 해당글을 비공개로 체크해서 뷰페이지에서 해당내용이 안보이게 하는 기능이라면
여분필드를 하나 이용해서 작업하시면 될듯 싶습니다.
1. 해당 게시판 스킨에 write.skin.php 파일을 여서서 해당내용을 추가합니다. (wr_1필드 사용)
<?php if($is_admin){ ?>
<input type="checkbox" id="closed" value="closed" name='wr_1' <?php echo get_checked('closed',$write['wr_1']);?>> <label for="closed">비공개</label>
<?php }?>
2. view.skin.php 파일을 여셔서 해당내용을 추가합니다.
<?php if($view['wr_1']=="closed"){?>
비공개 내용
ex) 해당게시물은 관리자에 의해 비공개 처리되었습니다.
<?php }else{?>
기존 게시물 내용
<?php }?>