회원가입 | 고객센터 |
DESIGNONEX
dxcms.kr
로그인 회원가입
고객센터
3.2 폴더 구조

plugins/ — 플러그인 시스템

D DX
2026.04.21 00:43(수정됨) 134 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

로그인 후 댓글을 작성할 수 있습니다.
3.2 폴더 구조 install/ — 설치 및 마이그레이션 2026.04.21 3.2 폴더 구조 pages/ — 커스텀 페이지 2026.04.21 3.2 폴더 구조 data/ — 런타임 데이터 2026.04.21 3.2 폴더 구조 extend/ — 코드 자동 삽입 2026.04.21 3.2 폴더 구조 routes/ + controllers/ — 라라벨 스타일 라우팅 2026.04.21 3.2 폴더 구조 assets/ — 정적 자원 2026.04.21 3.2 폴더 구조 plugins/ — 플러그인 시스템 2026.04.21 3.2 폴더 구조 themes/ — 테마 시스템 2026.04.21 3.2 폴더 구조 boards/ — 게시판 시스템 2026.04.21 3.2 폴더 구조 admin/ — 관리자 패널 2026.04.21 3.2 폴더 구조 core/ — CMS 엔진 2026.04.21
31
전체 회원
503
전체 게시글
775
전체 댓글
442
오늘 방문
33,174
전체 방문
3
현재 접속
인기글 7일 이내
최신글
최신댓글
목록