객실안내 자유게시판 로그인 회원가입 실시간 예약

plugins/ — 플러그인 시스템

3.2 폴더 구조

plugins/ — 플러그인 시스템

D DX
2026.04.21 00:43(수정됨) 150 0

plugins/ — 플러그인 시스템

CMS 기능을 코어 수정 없이 확장하는 플러그인 폴더입니다. 각 플러그인은 독립 폴더로 분리되며, plugin.php 에서 dx_register_plugin() 으로 등록됩니다.
 
plugins/
├── dx-payment-helper.php        ← 결제 플러그인 공통 헬퍼 함수
├── example-plugin/              ← 플러그인 개발 예제
│   ├── plugin.php               ← 플러그인 등록 + 훅 연결 코드
│   └── manifest.php             ← 플러그인 메타 정보 (이름•버전•설명)
├── dx-socket/                   ← WebSocket 실시간 기능 플러그인
│   ├── plugin.php
│   ├── socket-core.js.php       ← 소켓 클라이언트 JS 동적 생성
│   └── admin/                   ← 소켓 관리자 페이지 (상태•설정)
│       ├── settings.php
│       └── widget.php
├── ckeditor4-editor/            ← CKEditor 4 에디터 플러그인
├── tosspay-payment/             ← 토스페이 결제
│   ├── plugin.php
│   ├── manifest.php
│   └── assets/                  ← 결제 관련 JS/CSS 파일
├── kakaopay-payment/            ← 카카오페이 결제
├── naverpay-payment/            ← 네이버페이 결제
├── danal-payment/               ← 다날 결제 (신용카드•휴대폰)
├── kcp-payment/                 ← NHN KCP 결제
├── kg-inicis-payment/           ← KG 이니시스 결제
├── nicepay-payment/             ← 나이스페이먼츠 결제
├── payletter-payment/           ← 페이레터 결제
├── paypal-payment/              ← PayPal 해외 결제
├── stripe-payment/              ← Stripe 해외 결제
└── custom-payment-template/     ← 커스텀 결제 개발 템플릿


플러그인 파일 구조 상세

파일 필수 역할
plugin.php ✅ 필수 플러그인 등록 (dx_register_plugin) + 훅 연결 코드. 활성화 시 로드됨
manifest.php 권장 플러그인 메타 정보 단독 파일. 비활성 상태에서도 관리자에서 정보 표시
admin/ 선택 관리자 패널에 플러그인 전용 설정 화면 추가
assets/ 선택 플러그인 전용 CSS•JS•이미지. URL로 직접 접근 가능
controllers/ 선택 DxContainer 가 자동 탐색하는 컨트롤러 클래스 파일


플러그인 등록 API 

// plugins/my-plugin/plugin.php
dx_register_plugin(array(
    'id'       => 'my-plugin',
    'type'     => 'editor',   // editor | payment | socket | captcha | other
    'name'     => 'My Plugin',
    'version'  => '1.0.0',
    'author'   => 'Dev Name',
    'settings' => array(       // 관리자에서 설정 가능한 옵션 정의
        'api_key' => array(
            'label'   => 'API 키',
            'type'    => 'text',  // text | select | checkbox | textarea
            'default' => '',
        ),
    ),
));

// 훅으로 기능 연결 (플러그인 로드 시 즉시 실행)
dx_add_hook('dx_editor_render', function($args) {
    $apiKey = dx_plugin_option('my-plugin', 'api_key');
    // 에디터 HTML 출력
}, 10);
  

댓글0

로그인 후 댓글을 작성할 수 있습니다.
메뉴얼 119
16. 이슈 가이드 그누보드의 `_common.php` 처럼, `dx_load.php` 한 줄로 DXCMS의 모든 기능을 사용하는 방법입니다. 2026.05.21 15. 마켓 개발자 가이드 마켓 다운로드 보호 설정 가이드 2026.05.20 6. 게시판 게시판 여분 필드 (Board Extra Fields) 사용 가이드 2026.05.19 14. 데이터베이스 Database 직접 쿼리 개발 2026.05.19 14. 데이터베이스 DB스키마 2026.05.12 13. 보안 기본 보안 구조 2026.05.10 12. 성능 / 최적화 트래픽 대응 2026.05.10 12. 성능 / 최적화 정적 리소스 관리 2026.05.10 12. 성능 / 최적화 캐싱 전략 2026.05.10 11. 인증 / 로그인 시스템 세션 처리 구조 2026.05.10 11. 인증 / 로그인 시스템 인증 흐름 2026.05.10 11. 인증 / 로그인 시스템 소셜 로그인 2026.05.10 11. 인증 / 로그인 시스템 일반 로그인 2026.05.10 10. 마이페이지 마이페이지 구조 2026.05.10 9. 채팅 채팅 제작 2026.05.10 9. 채팅 채팅 구조 2026.05.10 3.8 Extend 구조 Extend 실제 소스 코드 완전 분석 • 12가지 실전 사례 2026.05.02 3.8 Extend 구조 코어 수정 없이 CMS를 확장하는 방법 2026.05.02 8. 플러그인 플러그인 DX마켓 등록 2026.05.01 8. 플러그인 플러그인 제작 2026.05.01