---
url: 'https://dxpr.com/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/submoduly'
title: 'Submoduły | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T11:38:49+00:00'
updated: '2026-10-24T17:19:22+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: |-
  Katalog modules/ zawiera trzy submoduły. Dwa to małe pakiety
  konfiguracyjne: typ treści i typ bloku podłączone do kreatora.
  Trzeci to starszy wybierak mediów Entity Browser sprzed obsługi
  biblioteki Media Library. Ta strona dokumentuje,
  co każdy instaluje, od czego zależy i jak go włączyć albo
  wycofać.
tags:
  - 'Architecture and APIs'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T17:19:22+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: Submoduły
      description: |-
        Katalog modules/ zawiera trzy submoduły. Dwa to małe pakiety
        konfiguracyjne: typ treści i typ bloku podłączone do kreatora.
        Trzeci to starszy wybierak mediów Entity Browser sprzed obsługi
        biblioteki Media Library. Ta strona dokumentuje,
        co każdy instaluje, od czego zależy i jak go włączyć albo
        wycofać.
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T11:38:49+0000'
      dateModified: '2026-10-24T17:19:22+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/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/submoduly'
      articleSection: 'Architektura i API'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/submoduly'
      description: |-
        Katalog modules/ zawiera trzy submoduły. Dwa to małe pakiety
        konfiguracyjne: typ treści i typ bloku podłączone do kreatora.
        Trzeci to starszy wybierak mediów Entity Browser sprzed obsługi
        biblioteki Media Library. Ta strona dokumentuje,
        co każdy instaluje, od czego zależy i jak go włączyć albo
        wycofać.
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: 'Strona Główna'
            item: 'https://dxpr.com/pl'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: pl
---
[Centrum pomocy](/pl/hc)/[Dokumentacja](/pl/hc/dokumentacja) /[Poznaj DXPR Builder](/pl/hc/documentation/learn-dxpr-builder) /[Rozszerzenia](/pl/hc/documentation/learn-dxpr-builder/extend) /[Architektura i API](/pl/hc/documentation/learn-dxpr-builder/extend/architecture) # Submoduły.

 Poznaj DXPR BuilderRozszerzeniaArchitektura i API

   ## W tym przewodniku

 Powiązane przewodniki

- [Który typ treści ma trzymać kreator](/pl/hc/dokumentacja/nauka-dxpr-builder/integracje/typy-tresci)
- [Umieść zdjęcie z biblioteki mediów.](/pl/hc/dokumentacja/nauka-dxpr-builder/integracje/biblioteka-mediow)

Katalog `modules/` zawiera trzy submoduły. Dwa to małe pakiety konfiguracyjne: typ treści i typ bloku podłączone do kreatora. Trzeci to starszy wybierak mediów Entity Browser sprzed obsługi biblioteki Media Library. Ta strona dokumentuje, co każdy instaluje, od czego zależy i jak go włączyć albo wycofać.

| Moduł | Nazwa maszynowa | Dostarcza | Status |
|---|---|---|---|
| DXPR Builder Drag and Drop Page | `dxpr_builder_page` | `drag_and_drop_page`, typ treści | Wspierany |
| DXPR Builder Block Type | `dxpr_builder_block` | `drag_and_drop_block`, typ bloku | Wspierany |
| DXPR Builder Media | `dxpr_builder_media` | Wybierak mediów Entity Browser | Starszy; ukryty na stronie Extend |

Żaden nie jest wymagany. Kreator działa na każdym polu tekstowym, którego wyświetlanie używa formatera **DXPR Builder**(`dxpr_builder_text`); zobacz [instalację na istniejących typach treści](/pl/hc/dokumentacja/nauka-dxpr-builder/pierwsze-kroki/instalowanie-na-istniejacych-typach-tresci).

## DXPR Builder Drag and Drop Page

`modules/dxpr_builder_page` instaluje typ treści **Drag and Drop Page**(`node.type.drag_and_drop_page`) z `config/optional/`:

- Pole `body`, z domyślnym wyświetlaniem używającym formatera `dxpr_builder_text` i wyświetlaniem formularza zgrupowanym przez Field Group.
- Trzy pola motywu DXPR: `field_dth_hide_regions`, `field_dth_main_content_width` i `field_dth_page_layout`. Instalują się tylko, gdy istnieją ich magazyny pól, które dostarcza motyw pomocniczy DXPR Theme Helper.

Zależności z `dxpr_builder_page.info.yml`: `field_group`, `text`, `node` i `dxpr_builder`. `hook_install()` tworzy magazyn pola `body`, gdy nie istnieje. Gdy opcjonalna konfiguracja nie może się zainstalować, jak na profilu Minimal, instaluje typ, pole body i wyświetlenia samodzielnie, bez części `menu_ui` i `path`. `dxpr_builder_page_update_8001()` oznacza zainstalowaną konfigurację jako wymuszoną przez moduł.

`src/DXPRBuilderPageUninstallValidator.php` (zarejestrowany w `dxpr_builder_page.services.yml`) blokuje odinstalowanie, dopóki istnieje węzeł `drag_and_drop_page`. Najpierw usuń te węzły albo zmień ich typ.

1. Włącz moduł:

    ```bash
    drush en dxpr_builder_page -y

    ```
2. Utwórz stronę w `/node/add/drag_and_drop_page`. Kreator startuje na polu body, gdy stronę ogląda redaktor.

Jeśli włączenie nie udaje się z „unmet dependencies”, włącz Field Group i sprawdź, czy istnieje magazyn pola `body`; zobacz [problemy po aktualizacji](/pl/hc/dokumentacja/nauka-dxpr-builder/rozwiazywanie-problemow/problemy-po-aktualizacji).

## DXPR Builder Block Type

`modules/dxpr_builder_block` instaluje typ bloku **Drag and Drop Block**(`block_content.type.drag_and_drop_block`) z `config/optional/`, z polem `body`, formaterem `dxpr_builder_text`na domyślnym wyświetlaniu i wyświetlaniem formularza. Typ ma włączone **Create new revision**, a `dxpr_builder_block_update_8002()` włącza to dla starszych instalacji, więc każdy zapis kreatora na bloku tworzy rewizję (zobacz [staging treści](/pl/hc/documentation/learn-dxpr-builder/advanced/content-staging)).

Zależności: `text`, `node` i `dxpr_builder`.

1. Włącz moduł:

    ```bash
    drush en dxpr_builder_block -y

    ```
2. Utwórz blok w `/block/add/drag_and_drop_block`.
3. Umieść go w regionie. Redaktorzy edytują go w miejscu na każdej stronie, na której się pojawia.

`dxpr_builder_entity_type_alter()` podmienia własną klasę modułu `Drupal\dxpr_builder\Entity\BlockContent`, jak dla `Node`. Klasa zapisuje pusty ciąg do pustych pól kreatora, więc edytor zawsze ma do czego się przyłączyć. Typ bloku utworzony samodzielnie działa więc tak samo, gdy jego wyświetlanie używa formatera kreatora DXPR.

## DXPR Builder Media

`modules/dxpr_builder_media` to oparty na Entity Browser wybierak obrazów, którego moduł używał przed wsparciem podstawowej biblioteki Media Library. Jest oznaczony `hidden: true` w swoim `.info.yml`, więc nie pojawia się w **Extend**; nadal możesz go włączyć Drushem. Instaluje:

- `entity_browser.browser.dxpr_builder_media_modal`: modalną przeglądarkę oznaczoną **DXPR Builder Image Browser** z dwoma widgetami, kartą **Media Library** wspieraną widokiem `dxpr_builder_media`i kartą **Upload new image** tworzącą encję mediów `image`przez Inline Entity Form.
- `views.view.dxpr_builder_media`: siatkę mediów dla pierwszego widgetu.
- `image.style.dxpr_builder_media_thumbnail`: styl skalowania i przycinania 300 na 300 pikseli dla siatki.
- Biblioteki `view`, `claro_style` i `gin_style`(`dxpr_builder_media.libraries.yml`). Moduł dołącza arkusz stylów Gin do widoku, gdy aktywnym motywem jest Gin albo na nim oparty, a w przeciwnym razie arkusz stylów Claro.

Zależności: `inline_entity_form`, `entity_browser`, `entity_browser_entity_form`, `media`, `media_library` i `views`. Przy instalacji moduł ustawia `media_browser` w `dxpr_builder.settings` na `dxpr_builder_media_modal`; przy odinstalowaniu ustawia go na pusty ciąg (**Basic file upload**) i usuwa styl obrazu.

Zalecaną przeglądarką jest podstawowa Media Library, która nie wymaga submodułu:

1. Odinstaluj starszy moduł, jeśli jest włączony:

    ```bash
    drush pm:uninstall dxpr_builder_media -y

    ```
2. Przejdź do **DXPR Studio &gt; DXPR Builder &gt; General Settings**(`/admin/dxpr_studio/dxpr_builder/settings`) i otwórz **Media**.
3. Ustaw **Browser type** na **Media Library** i kliknij **Save settings**. Odinstalowanie zresetowało je do **Basic file upload**.

Trzymaj submoduł tylko w witrynie zależnej od Entity Browser zwracającego ID plików; zobacz [obrazy nie przesyłają się albo znikają](/pl/hc/dokumentacja/nauka-dxpr-builder/rozwiazywanie-problemow/obrazy-i-media)dla błędów produkowanych przez niedopasowaną przeglądarkę. Moduł niesie jedyny test PHPUnit repozytorium, `tests/src/FunctionalJavascript/MediaEntityBrowserTest.php`; zobacz [testowanie](/pl/hc/dokumentacja/nauka-dxpr-builder/programowanie/testowanie).

## Włączanie kilku naraz

```bash
drush en dxpr_builder_page dxpr_builder_block -y

```

Każdy submoduł jest niezależny od pozostałych.

## Co dalej?

- [Typy treści](/pl/hc/dokumentacja/nauka-dxpr-builder/integracje/typy-tresci) dla użycia kreatora we własnych typach treści.
- [Integracja biblioteki mediów](/pl/hc/dokumentacja/nauka-dxpr-builder/integracje/biblioteka-mediow) dla zalecanego wybieraka obrazów.