---
url: 'https://dxpr.com/ko/hc/documentation/learn-dxpr-builder/development/submodules'
title: '하위 모듈 | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T01:40:17+00:00'
updated: '2026-10-24T09:09:48+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  다음 디렉터리에는 세 하위 모듈이 있습니다: modules/. 둘은 작은
  구성 패키지입니다. 빌더에 연결된 콘텐츠 유형과 블록 유형. 세 번째는 Media Library 지원
  이전의 기존 Entity Browser 미디어 선택기입니다. 이 페이지에서는
  각각이 설치하는 것, 의존하는 것, 활성화하거나
  폐기하는 법을 설명합니다.
tags:
  - 'Architectuur en API’s'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T09:09:48+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: '하위 모듈'
      description: |-
        다음 디렉터리에는 세 하위 모듈이 있습니다: modules/. 둘은 작은
        구성 패키지입니다. 빌더에 연결된 콘텐츠 유형과 블록 유형. 세 번째는 Media Library 지원
        이전의 기존 Entity Browser 미디어 선택기입니다. 이 페이지에서는
        각각이 설치하는 것, 의존하는 것, 활성화하거나
        폐기하는 법을 설명합니다.
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T01:40:17+0000'
      dateModified: '2026-10-24T09:09:48+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/ko/hc/documentation/learn-dxpr-builder/development/submodules'
      articleSection: 'Architectuur en API’s'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/ko/hc/documentation/learn-dxpr-builder/development/submodules'
      description: |-
        다음 디렉터리에는 세 하위 모듈이 있습니다: modules/. 둘은 작은
        구성 패키지입니다. 빌더에 연결된 콘텐츠 유형과 블록 유형. 세 번째는 Media Library 지원
        이전의 기존 Entity Browser 미디어 선택기입니다. 이 페이지에서는
        각각이 설치하는 것, 의존하는 것, 활성화하거나
        폐기하는 법을 설명합니다.
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: 홈
            item: 'https://dxpr.com/ko'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: ko
---
[Help Center](/ko/node/75)/[Documentation](/ko/hc/documentation) /[Learn DXPR Builder](/hc/documentation/learn-dxpr-builder) /[Extend](/hc/documentation/learn-dxpr-builder/extend) /[Architectuur en API’s](/hc/documentation/learn-dxpr-builder/extend/architecture) # 하위 모듈.

 Learn DXPR BuilderExtendArchitectuur en API’s

   ## In this guide

 Related guides

- [콘텐츠 유형](/ko/hc/documentation/learn-dxpr-builder/integrations/content-types)
- [미디어 라이브러리에서 사진 배치하기](/ko/hc/documentation/learn-dxpr-builder/integrations/media-library)

다음 디렉터리에는 세 하위 모듈이 있습니다: `modules/`. 둘은 작은 구성 패키지입니다. 빌더에 연결된 콘텐츠 유형과 블록 유형. 세 번째는 Media Library 지원 이전의 기존 Entity Browser 미디어 선택기입니다. 이 페이지에서는 각각이 설치하는 것, 의존하는 것, 활성화하거나 폐기하는 법을 설명합니다.

| 모듈 | 머신 이름 | 제공 내용 | 상태 |
|---|---|---|---|
| DXPR Builder Drag and Drop Page | `dxpr_builder_page` | `drag_and_drop_page` 콘텐츠 유형 | 지원됨 |
| DXPR Builder Block Type | `dxpr_builder_block` | `drag_and_drop_block` 블록 유형 | 지원됨 |
| DXPR Builder Media | `dxpr_builder_media` | Entity Browser 미디어 선택기 | 기존 방식. Extend 페이지에서 숨겨짐. |

필수는 없습니다. 빌더는 보기 표시가 **DXPR Builder** 포매터 (`dxpr_builder_text`)인 모든 텍스트 필드에서 동작합니다. 다음을 보세요: [기존 콘텐츠 유형에 설치](/hc/documentation/learn-dxpr-builder/getting-started/installing-on-existing-content-types).

## DXPR Builder Drag and Drop Page

`modules/dxpr_builder_page`(은)는 다음에서 **Drag and Drop Page**콘텐츠 유형(`node.type.drag_and_drop_page`)을 설치합니다: `config/optional/`.

- 다음 필드: `body`. 기본 보기 표시는 `dxpr_builder_text` 포매터를 쓰고 양식 표시는 Field Group으로 묶습니다.
- 세 DXPR Theme 필드: `field_dth_hide_regions`, `field_dth_main_content_width`, `field_dth_page_layout`. 필드 저장소가 있을 때만 설치됩니다. DXPR Theme Helper 모듈이 제공합니다.

다음 파일의 의존성: `dxpr_builder_page.info.yml`. `field_group`, `text`, `node`, `dxpr_builder`. `hook_install()`(은)는 없을 때 `body` 필드 저장소를 만듭니다. 선택적 구성을 설치할 수 없으면(Minimal 프로필 등) 유형, body 필드, 표시 자체를 설치합니다. `menu_ui`와 `path` 부분 없이. `dxpr_builder_page_update_8001()`(은)는 설치된 구성을 모듈 적용으로 표시합니다.

`src/DXPRBuilderPageUninstallValidator.php`( `dxpr_builder_page.services.yml`에 등록됨)는 `drag_and_drop_page`노드가 하나라도 있으면 제거를 막습니다. 먼저 해당 노드를 삭제하거나 유형을 바꾸세요.

1. 모듈을 활성화하세요:

    ```bash
    drush en dxpr_builder_page -y

    ```
2. 다음에서 페이지를 만드세요: `/node/add/drag_and_drop_page`. 편집자가 페이지를 보면 빌더가 body 필드에서 시작합니다.

"unmet dependencies" 오류로 활성화가 실패하면 Field Group을 활성화하고 `body` 필드 저장소가 있는지 확인하세요. 다음을 보세요: [업데이트 후 문제](/hc/documentation/learn-dxpr-builder/troubleshooting/after-updating).

## DXPR Builder Block Type

`modules/dxpr_builder_block`(은)는 다음에서 **Drag and Drop Block**블록 유형(`block_content.type.drag_and_drop_block`)을 설치합니다: `config/optional/`. `body` 필드, 기본 보기 표시의 `dxpr_builder_text`포매터, 양식 표시와 함께. 유형에는 **Create new revision**(이)가 켜져 있고, `dxpr_builder_block_update_8002()`는 이전 설치에도 켜므로, 블록의 모든 빌더 저장은 리비전을 만듭니다. 다음을 보세요: [콘텐츠 스테이징](/ko/hc/documentation/learn-dxpr-builder/advanced/content-staging).

의존성: `text`, `node`, `dxpr_builder`.

1. 모듈을 활성화하세요:

    ```bash
    drush en dxpr_builder_block -y

    ```
2. 다음에서 블록을 만드세요: `/block/add/drag_and_drop_block`.
3. 리전에 배치하세요. 나타나는 모든 페이지에서 편집자가 제자리에서 편집합니다.

`dxpr_builder_entity_type_alter()`(은)는 모듈 자체 `Drupal\dxpr_builder\Entity\BlockContent` 클래스로 교체합니다. `Node`의 경우와 같습니다. 클래스는 빈 빌더 필드에 빈 문자열을 저장하므로 편집기가 항상 붙을 대상을 가집니다. 직접 만드는 블록 유형도 보기 표시가 DXPR Builder 포매터를 쓰면 같은 방식으로 동작합니다.

## DXPR Builder Media

`modules/dxpr_builder_media`(은)는 코어 Media Library 지원 전에 모듈이 쓰던 Entity Browser 기반 이미지 선택기입니다. `hidden: true`가 `.info.yml`에 표시되어 **Extend**에 나타나지 않습니다. Drush로는 여전히 활성화할 수 있습니다. 설치 내용:

- `entity_browser.browser.dxpr_builder_media_modal`: **DXPR Builder Image Browser**라는 두 위젯 모달 브라우저. **Media Library** 탭(`dxpr_builder_media` View 기반)과 **Upload new image** 탭(Inline Entity Form으로 `image`미디어 엔터티 생성).
- `views.view.dxpr_builder_media`: 첫 위젯의 미디어 그리드.
- `image.style.dxpr_builder_media_thumbnail`: 그리드용 300×300픽셀 scale-and-crop 스타일.
- 라이브러리 `view`, `claro_style`, `gin_style`(`dxpr_builder_media.libraries.yml`). 모듈은 활성 테마가 Gin이거나 Gin 기반이면 Gin 스타일시트를 View에, 아니면 Claro 스타일시트를 붙입니다.

의존성: `inline_entity_form`, `entity_browser`, `entity_browser_entity_form`, `media`, `media_library`, `views`. 설치 시 모듈은 `media_browser`(`dxpr_builder.settings` 안)를 `dxpr_builder_media_modal`(으)로 설정합니다. 제거 시에는 빈 문자열(**Basic file upload**)로 설정하고 이미지 스타일을 삭제합니다.

권장 브라우저는 코어 Media Library이며 하위 모듈이 필요 없습니다:

1. 활성화되어 있으면 기존 모듈을 제거하세요:

    ```bash
    drush pm:uninstall dxpr_builder_media -y

    ```
2. 다음으로 가세요: **DXPR Studio &gt; DXPR Builder &gt; General Settings**(`/admin/dxpr_studio/dxpr_builder/settings`). **Media**(을)를 여세요.
3. 다음을 설정하세요: **Browser type**을 **Media Library**로. **Save settings**(을)를 클릭하세요. 제거 과정에서 **Basic file upload**(으)로 초기화되었습니다.

Entity Browser가 파일 ID를 반환하는 데 의존하는 사이트에서만 하위 모듈을 유지하세요. 다음을 보세요: [이미지가 업로드되지 않거나 사라짐](/hc/documentation/learn-dxpr-builder/troubleshooting/images-and-media). 맞지 않는 브라우저가 내는 오류에 대한 내용입니다. 모듈에는 저장소의 유일한 PHPUnit 테스트가 있습니다: `tests/src/FunctionalJavascript/MediaEntityBrowserTest.php`. 다음을 보세요: [테스트](/ko/hc/documentation/learn-dxpr-builder/development/testing).

## 한 번에 여러 개 활성화

```bash
drush en dxpr_builder_page dxpr_builder_block -y

```

각 하위 모듈은 서로 독립적입니다.

## 다음 단계

- [콘텐츠 유형](/hc/documentation/learn-dxpr-builder/integrations/content-types). 자신의 콘텐츠 유형에 빌더를 쓰는 법.
- [Media Library 통합](/ko/hc/documentation/learn-dxpr-builder/integrations/media-library). 권장 이미지 선택기에 대한 내용.