Submoduły.

Poznaj DXPR BuilderRozszerzeniaArchitektura i API

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.

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ł:

    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.

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).

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

  1. Włącz moduł:

    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:

    drush pm:uninstall dxpr_builder_media -y
    
  2. Przejdź do DXPR Studio > DXPR Builder > 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ą dla błędów produkowanych przez niedopasowaną przeglądarkę. Moduł niesie jedyny test PHPUnit repozytorium, tests/src/FunctionalJavascript/MediaEntityBrowserTest.php; zobacz testowanie.

Włączanie kilku naraz

drush en dxpr_builder_page dxpr_builder_block -y

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

Co dalej?