그누보드 특정 게시판 본문 내용 필수 입력 제약 해제 방법
페이지 정보

본문
그누보드 게시판에서 본문 내용을 입력하지 않아도 글을 등록할 수 있도록 설정하는 구체적인 수정 절차와 주의사항을 확인합니다.
그누보드 특정 게시판 본문 내용 필수 입력 제약 해제 방법
그누보드에서 자유게시판 등 특정 게시판(free)의 글 작성 시 본문 내용을 필수로 입력하지 않아도 등록되도록 설정하려면 프론트엔드 스킨 파일인 write.skin.php와 서버 측 처리 파일인 bbs/write_update.php를 모두 수정해야 합니다.
1. write.skin.php 파일 수정
게시판 스킨 폴더 내의 write.skin.php 파일을 연 후, 상단의 개별 페이지 접근 방지 코드 바로 아래에 특정 게시판(free)을 지정하여 에디터 초기화 및 자바스크립트 필수 검증을 조건부로 제외하는 코드를 추가합니다.
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 내용 필수 입력 해제
if ($bo_table == 'free') {
$editor_js = '';
$editor_js.= get_editor_js('wr_content', $is_dhtml_editor);
}
여러 게시판에 동시에 적용하려면 in_array() 함수를 활용하여 아래와 같이 조건을 확장할 수 있습니다.
// 내용 필수 입력 해제
if (in_array($bo_table, array('free', 'gallery'))) {
$editor_js = '';
$editor_js.= get_editor_js('wr_content', $is_dhtml_editor);
}
2. bbs/write_update.php 파일 수정
서버 측에서 글 등록 시 내용이 비어 있는지 검사하는 유효성 체크 로직을 찾아, 대상 게시판(free)에서는 해당 검사 로직을 건너뛰도록 조건문을 추가합니다.
if ($bo_table!= 'free') {
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
}
여러 게시판에 적용하는 경우 if (!in_array($bo_table, array('free', 'gallery')))와 같이 조건식을 변경하여 처리합니다.
bbs/write_update.php 파일에서 서버 측 유효성 검사 로직 조건부 제외 방법
그누보드 특정 게시판에서 본문 내용 없이 글을 등록할 때, 클라이언트단 스킨 수정 외에도 서버 처리 파일인 bbs/write_update.php에서 서버 측 유효성 검사 로직을 조건부로 제외해야 빈 내용 등록을 정상적으로 처리할 수 있습니다.
수정 위치 및 코드 적용
bbs/write_update.php파일에서 내용 필수 입력 체크 부분을 찾습니다.- 아래와 같이 특정 게시판(예: 자유게시판
free)을 제외하는 조건문(if ($bo_table!= 'free'))을 적용합니다.
if ($bo_table!= 'free') {
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
}
조건 및 예외 사항
- 위 코드는 자유게시판(
free) 사례를 기준으로 하며, 다른 게시판에 적용할 때는bo_table값을 해당 게시판 아이디로 변경해야 합니다. - 갤러리 등 여러 게시판에 동시에 적용하려면
if ($bo_table!= 'free' && $bo_table!= 'gallery')형태와 같이 조건식을 확장하여 분기 처리할 수 있습니다.
여러 게시판에서 본문 필수 입력 해제 조건문 작성 방법
자유게시판(free) 외에 여러 개의 특정 게시판(예: gallery 등)에서 동시에 본문 필수 입력 제약을 해제하려면, 조건문에 in_array 함수를 사용하거나 논리 연산자(||)를 활용하여 대상 게시판 아이디($bo_table)를 여러 개 지정해야 합니다.
1. write.skin.php 수정
에디터 초기화 코드 부분에서 다수 게시판을 허용하도록 조건을 수정합니다.
in_array함수 활용 예시
if (in_array($bo_table, array('free', 'gallery'))) {
$editor_js = '';
$editor_js.= get_editor_js('wr_content', $is_dhtml_editor);
}
- 논리 연산자(
||) 활용 예시
if ($bo_table == 'free' || $bo_table == 'gallery') {
$editor_js = '';
$editor_js.= get_editor_js('wr_content', $is_dhtml_editor);
}
2. bbs/write_update.php 수정
서버 측 유효성 검사 로직에서 지정한 게시판들이 예외 처리에 포함되도록 조건문을 변경합니다.
in_array함수 활용 예시
if (!in_array($bo_table, array('free', 'gallery'))) {
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
}
- 논리 연산자(
||) 활용 예시
if ($bo_table!= 'free' && $bo_table!= 'gallery') {
if ($wr_content == '') {
$msg[] = '<strong>내용</strong>을 입력하세요.';
}
}
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 게시판 관리자 대리 글 등록 기능 구현 방법 26.09.24
- 다음글그누보드 게시판 목록에 마지막 댓글 정보 출력하기 26.09.24
댓글목록
등록된 댓글이 없습니다.