
DX 게시판 실시간 인원 플러그인
플러그인 ID dx-board-online · 버전 2.8.0 · 라이선스 DesignOneX License 1.0
게시판을 이용 중인 실시간 접속자 수를 사이트 전체 메뉴에 표시하는 유틸리티 플러그인입니다.
코어와 스킨 파일을 전혀 수정하지 않으며, 훅 가로채기 방식으로 동작합니다.
요구 사항
| 항목 | 조건 |
|---|---|
| DXCMS | 8.8.0 이상 |
| PHP | 5.6 이상 |
| 의존 플러그인 | dx-socket (소켓 관리 플러그인, tracker 기능 활성화 필요) |
dx-socket 플러그인이 설치·활성화되어 있지 않으면 이 플러그인은 동작하지 않습니다.
설치
dx-board-online.zip을 압축 해제합니다.plugins/dx-board-online/폴더를 서버의plugins/디렉토리에 업로드합니다.- 관리자 → 플러그인 관리에서 DX 게시판 실시간 인원 을 활성화합니다.
- 별도 설정 없이 즉시 동작합니다.
plugins/
└── dx-board-online/
├── manifest.php
└── plugin.php
표시 위치
소켓 연결이 완료된 후, 1명 이상일 때만 표시됩니다. 0명이면 자동으로 숨깁니다.
1. 게시판 목록 제목 옆
게시판 목록(list) 페이지의 h1 제목 바로 옆에 현재 이 게시판 이용자 수를 표시합니다.
자유게시판 ● 3명
2. 사이드 메뉴 헤더
사이드바 메뉴 타이틀(예: "커뮤니티") 옆에 전체 접속자 합계를 표시합니다.
커뮤니티 ● 5명
3. 사이드 메뉴 각 항목
사이드바 각 게시판 링크 옆에 해당 게시판 이용자 수를 표시합니다.
○ 자유게시판 N ● 3명 >
○ Studio
○ 그룹채팅 ● 2명
4. 상단 GNB 메뉴 (PC)
상단 네비게이션 각 메뉴 항목 옆에 이용자 수를 표시합니다.
- 부모 메뉴 (예:
커뮤니티) → 하위 게시판 전체 합산 인원 - 드롭다운 서브 메뉴 (예:
자유게시판,Studio) → 각 게시판별 인원
커뮤니티 ● 5명 ▾
자유게시판 ● 3명
Studio ● 2명
5. 모바일 패널 메뉴
햄버거 메뉴를 열었을 때 모바일 패널에도 동일하게 표시됩니다.
- 아코디언 부모 → 하위 게시판 합산 인원
- 아코디언 서브 항목 → 각 게시판별 인원
- 단일 메뉴 → 해당 게시판 인원
동작 원리
인원 집계 방식
dx-socket 플러그인이 관리하는 window.DX_ACTIVE_USERS Map을 기반으로 인원을 계산합니다.
접속자 정보에 board_key 파라미터가 있으면 이를 우선 사용하고, 없으면 접속 URL 경로에서 게시판 key를 추출하여 폴백으로 판정합니다.
MB소켓 무한 파라미터 활용
게시판 페이지 접속 시 sendEvent(join/update) 호출에 board_key 파라미터를 자동으로 추가합니다. 소켓 서버가 이를 브로드캐스트하면 다른 접속자의 Map에도 반영되어 정확한 게시판별 집계가 가능합니다.
갱신 시점
dxSocketUpdateWidget 함수를 체이닝하여 소켓 이벤트(join / update / leave / init) 수신 시마다 자동으로 인원 수를 갱신합니다. 기존 위젯(관리자 대시보드 등)과 충돌하지 않습니다.
훅 구조
| 훅 | 우선순위 | 역할 |
|---|---|---|
dx_bottom |
20 | JS 출력 — 소켓 코어(dx_body_bottom, priority 99)보다 먼저 실행되어 dxSocketUpdateWidget 체이닝 등록 |
코어·스킨 파일 수정 없이 순수 플러그인 방식으로 동작합니다.
표시 조건 요약
| 상태 | 표시 여부 |
|---|---|
| 소켓 연결 전 | 숨김 |
| 소켓 연결 완료, 0명 | 숨김 |
| 소켓 연결 완료, 1명 이상 | 표시 |
미지원 사항
- 카테고리별 구분 — URL
?cat=파라미터 단위 집계는 현재 미지원 (추후 지원 예정) - DXCMS 기본 테마 외 커스텀 테마 — 테마의 DOM 구조가 다를 경우 일부 위치에서 표시되지 않을 수 있음
파일 구성
| 파일 | 설명 |
|---|---|
manifest.php |
플러그인 메타 정보 (이름, 버전, 의존성 등) |
plugin.php |
훅 등록 및 JS 출력 메인 파일 |
변경 이력
| 버전 | 내용 |
|---|---|
| 2.8.0 | 모바일 패널 메뉴 지원 추가 |
| 2.7.0 | 소켓 연결 전 숨김, 연결 후 0명 숨김 처리 |
| 2.6.0 | GNB 상단 메뉴 + 드롭다운 서브메뉴 지원 추가 |
| 2.5.0 | 사이드 메뉴 헤더(전체 합계) + 항목별 인원 표시 |
| 2.4.0 | 뱃지 제거, 초록 블릿 + 텍스트 방식으로 디자인 변경 |
| 2.0.0 | 사이드 메뉴 실시간 인원 표시 추가 |
| 1.6.0 | 게시판 목록 h1 옆 표시 최초 정상 동작 |
| 1.0.0 | 최초 릴리즈 |
라이선스
디자인원엑스 라이선스 참고
https://designonex.com/notice/view/1787577858493247