Submódulos.

Learn DXPR BuilderExtendArchitectuur en API’s

O diretório modules/ tem três submódulos. Dois são pacotes pequenos de configuração: um tipo de conteúdo e um tipo de bloco ligados ao construtor. O terceiro é o seletor de multimédia Entity Browser legado que antecede o suporte da Media Library. Esta página documenta o que cada um instala, de que depende, e como o ativar ou reformar.

Module Machine name Provides Status
DXPR Builder Drag and Drop Page dxpr_builder_page drag_and_drop_page, o tipo de conteúdo Supported
DXPR Builder Block Type dxpr_builder_block drag_and_drop_block, o tipo de bloco Supported
DXPR Builder Media dxpr_builder_media Seletor de multimédia Entity Browser Legacy; hidden from the Extend page

Nenhum deles é obrigatório. O construtor funciona em qualquer campo de texto cuja apresentação usa o formatador DXPR Builder (dxpr_builder_text); consulte Instalar em tipos de conteúdo existentes.

DXPR Builder Drag and Drop Page

modules/dxpr_builder_page instala o tipo de conteúdo Drag and Drop Page (node.type.drag_and_drop_page) a partir de config/optional/:

  • O campo body, com a apresentação predefinida a usar o formatador dxpr_builder_text e a apresentação de formulário agrupada com Field Group.
  • Três campos do DXPR Theme: field_dth_hide_regions, field_dth_main_content_width e field_dth_page_layout. Instalam-se apenas quando existem os armazenamentos de campo, que o módulo DXPR Theme Helper fornece.

Dependências de dxpr_builder_page.info.yml: field_group, text, node e dxpr_builder. hook_install() cria o armazenamento de campo body quando não existe. Quando a configuração opcional não se instala, como no perfil Minimal, instala o tipo, o campo body e as apresentações, sem as partes menu_ui e path. dxpr_builder_page_update_8001() marca a configuração instalada como imposta pelo módulo.

src/DXPRBuilderPageUninstallValidator.php (declarado em dxpr_builder_page.services.yml) bloqueia a desinstalação enquanto existir um nó drag_and_drop_page. Elimine ou mude o tipo desses nós primeiro.

  1. Ative o módulo:

    drush en dxpr_builder_page -y
    
  2. Crie uma página em /node/add/drag_and_drop_page. O construtor começa no campo body quando um editor vê a página.

Se a ativação falha com "unmet dependencies", ative Field Group e verifique que existe um armazenamento de campo body; consulte Problemas após atualizar.

DXPR Builder Block Type

modules/dxpr_builder_block instala o tipo de bloco Drag and Drop Block (block_content.type.drag_and_drop_block) a partir de config/optional/, com um campo body, o formatador dxpr_builder_text na apresentação predefinida, e a apresentação de formulário. O tipo tem Create new revision ligado, e dxpr_builder_block_update_8002() liga-o para instalações antigas, por isso cada gravação do construtor num bloco cria uma revisão (consulte Encenação de conteúdos).

Dependências: text, node e dxpr_builder.

  1. Ative o módulo:

    drush en dxpr_builder_block -y
    
  2. Crie um bloco em /block/add/drag_and_drop_block.

  3. Coloque-o numa região. Os editores editam-no no lugar em qualquer página onde aparece.

dxpr_builder_entity_type_alter() troca pela classe própria do módulo Drupal\dxpr_builder\Entity\BlockContent, como faz para Node. A classe guarda uma cadeia vazia em campos vazios do construtor, para o editor ter sempre algo a que se ligar. Um tipo de bloco criado manualmente funciona por isso da mesma forma quando a apresentação usa o formatador do DXPR Builder.

DXPR Builder Media

modules/dxpr_builder_media é o seletor de imagens baseado em Entity Browser que o módulo usava antes do suporte da Media Library do núcleo. Está marcado com hidden: true no .info.yml, por isso não aparece em Extend; ainda pode ativá-lo com Drush. Instala:

  • entity_browser.browser.dxpr_builder_media_modal: um navegador modal etiquetado DXPR Builder Image Browser com dois widgets, um separador Media Library suportado pela vista dxpr_builder_media e um separador Upload new image que cria uma entidade multimédia image através de Inline Entity Form.
  • views.view.dxpr_builder_media: a grelha de multimédia para o primeiro widget.
  • image.style.dxpr_builder_media_thumbnail: um estilo de redução e corte de 300 por 300 píxeis para a grelha.
  • Bibliotecas view, claro_style e gin_style (dxpr_builder_media.libraries.yml). O módulo anexa a folha de estilos Gin à vista quando o tema ativo é Gin ou baseado nele, e a folha de estilos Claro nos outros casos.

Dependências: inline_entity_form, entity_browser, entity_browser_entity_form, media, media_library e views. Ao instalar, o módulo define media_browser em dxpr_builder.settings como dxpr_builder_media_modal; ao desinstalar define-o como cadeia vazia (Basic file upload) e elimina o estilo de imagem.

O navegador recomendado é a Media Library do núcleo, que não precisa de submódulo:

  1. Desinstale o módulo legado se está ativo:

    drush pm:uninstall dxpr_builder_media -y
    
  2. Aceda a DXPR Studio > DXPR Builder > General Settings (/admin/dxpr_studio/dxpr_builder/settings) e abra Media.

  3. Defina Browser type como Media Library e clique em Save settings. A desinstalação repôs Basic file upload.

Mantenha o submódulo apenas num site que depende de um Entity Browser que devolve ID de ficheiro; consulte As imagens não carregam ou desaparecem para os erros que um navegador desencontrado produz. O módulo traz o único teste PHPUnit do repositório, tests/src/FunctionalJavascript/MediaEntityBrowserTest.php; consulte Testes.

Ativar vários de uma vez

drush en dxpr_builder_page dxpr_builder_block -y

Cada submódulo é independente dos outros.

O que se segue?