관리자만 분류사용하기에서...
관련링크
본문
안녕하세요.
쓴 글에 대해 관리자가 분류를 선택해서 지정하는 게시판 입니다.
그래서 일반 유저는 글쓰기 할때 분류를 선택할 이유가 없어서
관리자만 쓴 글에 대해 분류를 해주려고 이곳 Q&A 게시판에서 소스를 보고 수정은 했습니다.
그런데...
비 회원이 글을쓰면
"분류를 선택하세요"라고 나옵니다.
해결 방법이 있을까요?
참고 사이트
https://url.kr/bbs/board.php?bo_table=cL2an_si72_x76x
답변 2
게시판을 보니 글을 쓰면 신청으로 가야 할거 같은데 글쓰기이고 관리자가 아니면 분류 기본값을 신청으로 주시면 될거 같습니다.
bbs/write_update.php 파일에서 16행에 걸리시는 것 같습니다.
게시판 설정이 카테고리 사용일 경우 카테고리값을 가지고 들어오지 않으면 거르는 부분인데요.
if($board['bo_use_category']) {
$ca_name = isset($_POST['ca_name']) ? trim($_POST['ca_name']) : '';
if(!$ca_name) {
$msg[] = '<strong>분류</strong>를 선택하세요.';
} else {
$categories = array_map('trim', explode("|", $board['bo_category_list'].($is_admin ? '|공지' : '')));
if(!empty($categories) && !in_array($ca_name, $categories))
$msg[] = '분류를 올바르게 입력하세요.';
if($board['bo_use_category']) {
$ca_name = isset($_POST['ca_name']) ? trim($_POST['ca_name']) : '';
if(!$ca_name) {
$msg[] = '<strong>분류</strong>를 선택하세요.';
} else {
$categories = array_map('trim', explode("|", $board['bo_category_list'].($is_admin ? '|공지' : '')));
if(!empty($categories) && !in_array($ca_name, $categories))
$msg[] = '분류를 올바르게 입력하세요.';
if(empty($categories))
$ca_name = '';
}
} else {
$ca_name = '';
}
게시판 설정이 카테고리 사용일 경우 카테고리값을 가지고 들어오지 않으면 거르는 부분인데요.
제가 알기로 게시판 설정에서 카테고리 사용을 체크하지 않아도 폼에서 전송된 값이 있으면 저장되는 걸로 알고 있어요.
지금 확인해볼수는 없지만 위 내용이 맞다면, 게시판 설정에서 카테고리 사용을 체크해제 하시고
게시판 글쓰기 스킨 파일에서 <input type="hidden" name="ca_name" value="카테고리기본값"> 으로 해놓으시면 되지 않을까 싶네요. 그리고 관리자일 경우에는 카테고리를 수동으로 가져와서 변경해서 사용할 수 있도록 변경하면 되지 않을까 싶습니다.
<?php
if ($is_admin) {
$ca_name = "";
if (isset($write['ca_name']))
$ca_name = $write['ca_name'];
$category_option = get_category_option($bo_table, $ca_name);
?>
<div class="bo_w_select write_div">
<label for="ca_name" class="sound_only">분류<strong>필수</strong></label>
<select name="ca_name" id="ca_name" required>
<option value="">분류를 선택하세요</option>
<?php echo $category_option ?>
</select>
</div>
<?php } else { ?>
<input type="hidden" name="ca_name" value="기본값">
<?php } ?>
이런식으로요 ㅎㅎ 파이팅
!-->!-->
답변을 작성하시기 전에 로그인 해주세요.