회원가입 | 고객센터 |
DESIGNONEX
dxcms.kr
DX빌더
DX마켓
Service
PR리그
Q&AN
지식공유
공지사항
통계
로그인 회원가입
고객센터

DX 게시글 제한 플러그인

D DX관리자
2026.07.17 02:40 2 0




개요

게시판별로 회원 1명이 작성할 수 있는 게시글의 총 누적 개수를 제한하는 플러그인입니다.

예를 들어 "자유게시판"에 최대 3개로 설정하면, 해당 회원이 3개를 작성한 이후에는 더 이상 글을 쓸 수 없습니다. 삭제한 글은 카운트에서 제외되므로, 기존 글을 삭제하면 다시 작성할 수 있습니다.

관리자 계정은 제한에서 제외되며 코어 파일은 수정하지 않습니다.



주요 기능

  • 게시판별 독립적인 최대 게시글 수 설정
  • 한도 초과 시 글쓰기 화면 접근 차단 (1차) + POST 직접 제출 차단 (2차)
  • 삭제된 글(status=0)은 카운트에서 제외
  • 게시글 수정(edit)은 제한 없음 — 기존 글 수정은 항상 허용
  • 차단 안내 메시지 게시판별 개별 설정
  • 관리자 화면에서 회원별 게시글 수 바 차트 확인
  • 관리자 계정 완전 제외


설치 방법

1단계 — 파일 업로드

plugins/
└── dx-post-limit/
    ├── manifest.php
    ├── plugin.php
    ├── core/
    │   ├── install.php
    │   └── helper.php
    └── admin/
        └── index.php

dx-post-limit 폴더 전체를 서버의 plugins/ 디렉터리에 업로드합니다.

2단계 — 플러그인 활성화

  1. DXCMS 관리자 > 플러그인 클릭
  2. "DX 게시글 제한" 항목에서 활성화 클릭
  3. 활성화 시 DB 테이블이 자동 생성됩니다.

3단계 — 게시판 설정

  1. 관리자 좌측 메뉴 게시판 > 게시글 제한 클릭
  2. 설정할 게시판의 설정 버튼 클릭
  3. 항목 입력 후 저장


관리자 화면 사용법

관리자 URL: /admin/post-limit

게시판 목록이 표시되며 게시판명 또는 설정 버튼을 클릭하면 인라인으로 설정 패널이 펼쳐집니다.

설정 항목 설명 기본값
게시글 제한 활성화 해당 게시판의 제한 기능 ON/OFF OFF
최대 게시글 수 회원 1명이 작성 가능한 최대 누적 개수 1개
차단 안내 메시지 한도 초과 시 표시할 메시지 기본 메시지

현재 현황 (설정 패널 내)

설정 패널 안에 현재 게시글 수 상위 10명의 바 차트가 표시됩니다.

  • 한도 미달: 초록색 바
  • 한도 초과: 빨간색 바 + "한도초과" 뱃지


동작 흐름

회원이 글쓰기 버튼 클릭
         │
         ▼
관리자 계정?  ─Yes─▶  제한 없이 글쓰기 가능
         │ No
         ▼
해당 게시판 제한 활성화?  ─No─▶  제한 없이 글쓰기 가능
         │ Yes
         ▼
현재 작성 글 수 >= 최대 개수?
         │ Yes                │ No
         ▼                    ▼
[글쓰기 차단 에러 화면]    글쓰기 화면 정상 표시
  - 현재 N개 / 최대 N개      │
  - 안내 메시지 표시          ▼
                         글 저장 직전 2차 검증
                              │
                              ▼
                         정상 저장 완료


차단 2단계

직접 URL로 POST 요청을 보내는 우회 시도를 막기 위해 2단계로 차단합니다.

단계 시점
1차 dx_board_write_context 글쓰기 화면 렌더링 전
2차 dx_board_before_save 글 저장 직전


카운트 기준

상태 카운트 포함 여부
정상 게시글 (status=1) ✅ 포함
삭제된 게시글 (status=0) ❌ 제외
수정 중인 게시글 ✅ 기존 글이므로 포함
공지사항 ✅ 포함


제거 방법

  1. DXCMS 관리자 > 플러그인에서 비활성화
  2. 서버에서 plugins/dx-post-limit/ 폴더 삭제
  3. DB 테이블 삭제 (선택):
sql
DROP TABLE IF EXISTS `{prefix}post_limit_settings`;

{prefix} 는 DXCMS DB 테이블 접두사로 대체하세요. (기본값: dx_)



기술 정보

항목 내용
사용 훅 dx_extend_top (1), dx_board_write_context (10), dx_board_before_save (1), dx_admin_top (1)
카운트 방식 posts 테이블에서 board_id + member_id + status=1 실시간 카운트
DB 테이블 post_limit_settings
코어 파일 수정 없음
관리자 URL /admin/post-limit


자주 묻는 질문

Q. 글을 삭제하면 다시 쓸 수 있나요?
A. 네. 삭제된 글은 카운트에서 제외되므로 삭제 후 새 글을 작성할 수 있습니다.

Q. 최대 개수를 1로 설정하면 한 게시판에 1개만 쓸 수 있나요?
A. 맞습니다. 공지사항, 자기소개, 상품 등록 등 1인 1글 게시판에 활용할 수 있습니다.

Q. 기존에 한도를 초과해서 작성된 글은 어떻게 되나요?
A. 기존 글은 그대로 유지됩니다. 플러그인 활성화 이후 신규 작성부터 제한이 적용됩니다.

Q. 글 수정은 가능한가요?
A. 네. 수정(edit)은 새 글 작성이 아니므로 한도와 관계없이 항상 가능합니다.

Q. 여러 게시판에 동시에 다른 한도를 설정할 수 있나요?
A. 네. 게시판별로 독립적으로 설정합니다. A게시판은 3개, B게시판은 1개 등 다르게 설정할 수 있습니다.


https://dxcmsboard.com

관리자 아이디 : admin / 비밀번호 : 12341234

첨부파일 1개 회원전용 100P

댓글0

로그인 후 댓글을 작성할 수 있습니다.
Plugin 15
41
전체 회원
1,272
전체 게시글
2,281
전체 댓글
5
오늘 방문
50,788
전체 방문
2
현재 접속
인기글 7일 이내
최신글
최신댓글
내 플레이리스트
플레이리스트가 비어있습니다
스튜디오 게시판에서
플레이리스트에 담기 버튼을
눌러보세요
목록
목록