Субмодулі.

Вивчення DXPR BuilderРозширенняАрхітектура та API

Тека modules/ містить три субмодулі. Два це малі пакети конфігурації: тип вмісту та тип блоку, підключені до конструктора. Третій це застарілий медіавибір Entity Browser, що передує підтримці Media Library. Ця сторінка документує те, що кожен встановлює, від чого він залежить, і як його ввімкнути або вивести з ужитку.

Модуль Машинне ім’я Надає Статус
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); див. Встановлення на наявні типи вмісту.

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. Увімкніть модуль:

    drush en dxpr_builder_page -y
    
  2. Створіть сторінку за шляхом /node/add/drag_and_drop_page. Конструктор стартує на полі body, коли сторінку переглядає редактор.

Якщо ввімкнення не вдається з «unmet dependencies», увімкніть Field Group і перевірте, що сховище поля body існує; див. Проблеми після оновлення.

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() вмикає його для старіших встановлень, тож кожне збереження конструктором на блоці створює ревізію (див. Стейджинг вмісту).

Залежності: text, node і dxpr_builder.

  1. Увімкніть модуль:

    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 це вибір зображень на основі Entity Browser, який модуль використовував до підтримки Media Library ядра. Його позначено hidden: true у його .info.yml, тож він не з’являється у Extend; ви все одно можете ввімкнути його за допомогою Drush. Він встановлює:

  • entity_browser.browser.dxpr_builder_media_modal: модальний браузер із міткою DXPR Builder Image Browser із двома віджетами, вкладкою Media Library, підпертою поданням dxpr_builder_media і вкладкою Upload new image, що створює медіасутність image через Inline Entity Form.
  • views.view.dxpr_builder_media: медіасітка для першого віджета.
  • image.style.dxpr_builder_media_thumbnail: стиль масштабування-й-обрізання 300 на 300 пікселів для сітки.
  • Бібліотеки view, claro_style і gin_style (dxpr_builder_media.libraries.yml). Модуль приєднує таблицю стилів Gin до подання, коли активна тема це Gin або заснована на ній, і таблицю стилів 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. Деінсталюйте застарілий модуль, якщо його ввімкнено:

    drush pm:uninstall dxpr_builder_media -y
    
  2. Перейдіть до DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings) і відкрийте Media.

  3. Установіть Browser type у Media Library і натисніть Save settings. Деінсталяція скинула його в Basic file upload.

Тримайте субмодуль лише на сайті, який залежить від Entity Browser, що повертає ID файлів; див. Зображення не завантажуються або зникають щодо помилок, які створює невідповідний браузер. Модуль несе єдиний PHPUnit-тест репозиторію, tests/src/FunctionalJavascript/MediaEntityBrowserTest.php; див. Тестування.

Увімкнення кількох одразу

drush en dxpr_builder_page dxpr_builder_block -y

Кожен субмодуль незалежний від інших.

Що далі?