그누보드 게시판 오래된 글 댓글 작성 제한 방법
페이지 정보

본문
그누보드 운영자가 게시판 스킨 파일을 수정하여 오래된 글에 무분별한 댓글 작성을 제한하고 기능을 적용하는 방법을 알아봅니다.
그누보드 게시판 오래된 글 댓글 작성 제한 방법
그누보드5 게시판에서 오래된 글에 댓글 작성을 제한하려면 게시판 스킨 폴더 내의 view_comment.skin.php 파일을 수정해야 한다.
수정 파일 및 위치
- 수정 대상 파일:
view_comment.skin.php - 파일 상단 확인 위치: 파일 최상단에 있는
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가바로 밑에 아래의 작성일 비교 및 기간 설정 코드를 추가한다.
// 오래된 글에는 댓글 작성 금지
$cmt_open = true;
$cmt_open_days = 1; // 기간설정 (1일 후)
$cmt_datetime = date("Y-m-d H:i:s", ( time() - (86400 * $cmt_open_days) ) );
if ($view['wr_datetime'] < $cmt_datetime) {
$cmt_open = false;
}
- 댓글 작성 조건문 수정 위치: 파일 내에서 댓글 작성 가능 여부를 판별하는 기존 조건문
<?php if ($is_comment_write) {부분을 찾아 다음과 같이&& $cmt_open변수를 추가한다.
<?php if ($is_comment_write && $cmt_open) {
주의사항
- 제시된 코드의 제한 기간 설정(
$cmt_open_days)은 소스 코드 내에 직접 입력하는 하드코딩 방식이므로, 관리자 페이지 설정과 연동되지 않는다. - 스킨 파일을 직접 수정하는 방식이므로, 추후 스킨 업데이트 시 수정 내용이 초기화될 수 있음에 유의해야 한다.
- 사용 중인 게시판 스킨의 구조에 따라 코드 삽입 위치나 변수명이 다를 수 있으므로 적용 전 스킨 파일의 구성을 확인해야 한다.
그누보드 오래된 글 댓글 작성 제한 방법
그누보드5 게시판에서 작성일 기준으로 일정 기간이 지난 오래된 글에 댓글 작성을 제한하려면 view_comment.skin.php 파일을 수정하여 작성일과 현재 시간을 비교하는 로직을 추가해야 합니다.
1. 파일 수정 위치 및 기간 비교 코드 추가
게시판 스킨 폴더 내의 view_comment.skin.php 파일을 엽니다. 파일 상단의 개별 페이지 접근 방지 코드(if (!defined('_GNUBOARD_')) exit;) 바로 밑에 아래의 PHP 코드를 추가합니다.
// 오래된 글에는 댓글 작성 금지
$cmt_open = true;
$cmt_open_days = 1; // 기간설정 (1일 후)
$cmt_datetime = date("Y-m-d H:i:s", ( time() - (86400 * $cmt_open_days) ) );
if ($view['wr_datetime'] < $cmt_datetime) {
$cmt_open = false;
}
- 주의사항: 위 코드의
$cmt_open_days는 소스 코드 내에 직접 입력하는 하드코딩 방식입니다. 관리자 페이지 설정과 연동되지 않으며, 추후 스킨 업데이트 시 수정 내용이 초기화될 수 있음을 유의해야 합니다.
2. 댓글 작성 조건문 수정
같은 파일(view_comment.skin.php) 내에서 댓글 작성 여부를 확인하는 기존 조건문에 생성한 변수($cmt_open)를 추가합니다.
- 수정 전:
<?php if ($is_comment_write) { - 수정 후:
<?php if ($is_comment_write && $cmt_open) {
3. 적용 범위 확인
해당 코드는 그누보드5의 view_comment.skin.php 파일 구조에 의존적입니다. 사용 중인 게시판 스킨의 구조에 따라 코드 삽입 위치나 변수명이 다를 수 있으므로 적용 전 스킨 파일의 구성을 확인하시기 바랍니다.
하드코딩된 기간 설정 사용 시 주의할 점
그누보드 게시판 스킨을 수정하여 오래된 글의 댓글 작성을 제한할 때, 제한 기간 설정 방식($cmt_open_days)이 소스 코드 내에 직접 값을 입력하는 하드코딩 방식으로 처리되면 관리자 페이지 설정과 연동되지 않습니다.
주요 유의사항
- 스킨 업데이트 초기화 위험: 스킨 파일을 직접 수정하는 방식이므로, 추후 스킨을 업데이트할 경우 수정했던 내용이 초기화될 수 있음에 유의해야 합니다.
- 코드 구조 의존성: 해당 방식은 그누보드5의
view_comment.skin.php파일 구조에 의존적이므로, 사용 중인 게시판 스킨의 구조에 따라 코드 삽입 위치나 변수명이 다를 수 있습니다. 따라서 적용 전에 사용 중인 스킨 파일의 구성을 반드시 확인해야 합니다.
게시판 스킨 구조에 따른 적용 방법
게시판 스킨 구조에 따라 코드 삽입 위치나 변수명이 다를 수 있습니다. 기본 절차는 Q1을 참고하시되, 커스텀 스킨 사용 시 다음을 확인하십시오.
- 스킨 파일 구성: 사용 중인 스킨 폴더 내
view_comment.skin.php파일의 구조를 먼저 파악하십시오. - 코드 삽입: 댓글 작성 버튼(
$is_comment_write)이 포함된 조건문을 찾아 로직을 적용하십시오. - 주의사항: 하드코딩 방식이므로 스킨 업데이트 시 수정 내역이 초기화될 수 있음을 항상 유의하십시오.
상황별 판단 및 행동 가이드
| 내 상황 | 우선할 판단 | 다음 행동 |
|---|---|---|
| 게시판의 오래된 글에 댓글 작성을 제한하고 싶음 | view_comment.skin.php 파일 내 작성일 비교 로직 추가 | 파일 상단 접근 방지 코드 밑에 기간 설정 및 날짜 비교 PHP 코드를 삽입하고, 댓글 작성 조건문에 $cmt_open 변수를 추가하여 제어 |
| 스킨 파일 수정 후 추후 업데이트 시 수정 내용 초기화가 우려됨 | 코드가 소스 내 하드코딩되어 관리자 페이지 설정과 연동되지 않음을 인지 | 스킨 파일 직접 수정 방식의 한계를 고려하여 추후 스킨 업데이트 시 수정 내역을 수동으로 재반영할 준비 |
| 사용 중인 스킨의 구조나 변수명이 가이드와 다름 | 기본 순정 스킨과 커스텀 빌더 스킨의 파일 경로 및 변수명 차이 확인 | 적용 전 사용하는 게시판 스킨 파일의 구성을 먼저 확인하고 적절한 위치에 조건문 적용 |
실전 FAQ
Q. 제한 기간 설정값($cmt_open_days)은 어디서 변경하나요?
- 답변: 소스 코드 내
$cmt_open_days = 1;부분의 숫자를 원하는 일수로 직접 수정하여 기간을 조절할 수 있습니다.
Q. 관리자 페이지에서 직접 기간을 설정할 수 없나요?
- 답변: 현재 제시된 방식은 소스 내에 기간을 직접 입력하는 하드코딩 방식이므로 관리자 페이지와는 연동되지 않습니다.
Q. 스킨을 업데이트하면 수정한 코드가 사라지나요?
- 답변: 스킨 파일을 직접 수정하는 방식이기 때문에 추후 스킨을 업데이트할 경우 수정 내용이 초기화될 수 있어 주의가 필요합니다.
함께 보면 좋은 글
참고자료
기타 참고자료
- 이전글그누보드 게시판 목록에 마지막 댓글 정보 출력하기 26.09.24
- 다음글그누보드 게시판 상/하단 내용 이미지 반응형 CSS 스타일 적용 방법 26.09.24
댓글목록
등록된 댓글이 없습니다.