Submódulos.
El directorio modules/ tiene tres submódulos. Dos son pequeños
paquetes de configuración: un tipo de contenido y un tipo de bloque conectados al
constructor. El tercero es el selector de medios Entity Browser heredado que
precede a la compatibilidad con Media Library. Esta página documenta
lo que cada uno instala, de qué depende y cómo habilitarlo o
retirarlo.
| Módulo | Nombre de máquina | Ofrece | Estado |
|---|---|---|---|
| DXPR Builder Drag and Drop Page | dxpr_builder_page |
drag_and_drop_page como tipo de contenido |
Admitido |
| DXPR Builder Block Type | dxpr_builder_block |
drag_and_drop_block como tipo de bloque |
Admitido |
| DXPR Builder Media | dxpr_builder_media |
Selector de medios Entity Browser | Heredado; oculto en la página Extend |
Ninguno es obligatorio. El constructor funciona en cualquier campo de texto cuya
presentación usa el formato DXPR Builder
(dxpr_builder_text); consulta
Instalación en tipos de contenido existentes.
DXPR Builder Drag and Drop Page
modules/dxpr_builder_page instala el tipo de contenido
Drag and Drop Page (node.type.drag_and_drop_page) desde
config/optional/:
- El campo
body, con la presentación predeterminada usando el formatodxpr_builder_texty la presentación de formulario agrupada con Field Group. - Tres campos de DXPR Theme:
field_dth_hide_regions,field_dth_main_content_widthyfield_dth_page_layout. Se instalan solo cuando existen sus almacenamientos de campo, que el módulo DXPR Theme Helper ofrece.
Dependencias desde dxpr_builder_page.info.yml: field_group,
text, node y dxpr_builder. hook_install() crea el
almacenamiento de campo body cuando no existe. Cuando la
configuración opcional no puede instalarse, como en el perfil Minimal, instala el
tipo, el campo body y las presentaciones por su cuenta, sin las partes
menu_ui y path. dxpr_builder_page_update_8001() marca la configuración
instalada como impuesta por el módulo.
src/DXPRBuilderPageUninstallValidator.php (registrado en
dxpr_builder_page.services.yml) bloquea la desinstalación mientras existe
algún nodo drag_and_drop_page. Elimina o cambia el tipo de esos
nodos primero.
-
Habilita el módulo:
drush en dxpr_builder_page -y -
Crea una página en
/node/add/drag_and_drop_page. El constructor arranca en el campo body cuando una persona que edita ve la página.
Si habilitar falla con "unmet dependencies", habilita Field Group y
comprueba que existe un almacenamiento de campo body; consulta
Problemas tras actualizar.
DXPR Builder Block Type
modules/dxpr_builder_block instala el tipo de bloque
Drag and Drop Block (block_content.type.drag_and_drop_block) desde
config/optional/, con un campo body, el formato
dxpr_builder_text en la presentación predeterminada, y la presentación de
formulario. El tipo tiene Create new revision activado, y
dxpr_builder_block_update_8002() lo activa para instalaciones viejas,
así que cada guardado del constructor en un bloque crea una revisión (consulta
Staging de contenidos).
Dependencias: text, node y dxpr_builder.
-
Habilita el módulo:
drush en dxpr_builder_block -y -
Crea un bloque en
/block/add/drag_and_drop_block. -
Ponlo en una región. Las personas que editan lo editan en su sitio en cualquier página donde aparece.
dxpr_builder_entity_type_alter() cambia a la propia clase
Drupal\dxpr_builder\Entity\BlockContent del módulo, como hace para
Node. La clase guarda una cadena vacía en campos del constructor vacíos,
así que el editor siempre tiene algo a lo que unirse. Un tipo de bloque que
creas por tu cuenta funciona igual una vez que su presentación usa
el formato de DXPR Builder.
DXPR Builder Media
modules/dxpr_builder_media es el selector de imágenes basado en Entity Browser
que el módulo usaba antes de la compatibilidad con Media Library del núcleo. Está
marcado hidden: true en su .info.yml, así que no aparece
en Extend; aún puedes habilitarlo con Drush. Instala:
entity_browser.browser.dxpr_builder_media_modal: un explorador modal etiquetado DXPR Builder Image Browser con dos widgets, una pestaña Media Library respaldada por la vistadxpr_builder_mediay una pestaña Upload new image que crea una entidad mediaimagecon Inline Entity Form.views.view.dxpr_builder_media: la cuadrícula de medios para el primer widget.image.style.dxpr_builder_media_thumbnail: un estilo de escala y recorte de 300 por 300 píxeles para la cuadrícula.- Bibliotecas
view,claro_styleygin_style(dxpr_builder_media.libraries.yml). El módulo adjunta la hoja de estilos Gin a la vista cuando el tema activo es Gin o basado en él, y la hoja de estilos Claro si no.
Dependencias: inline_entity_form, entity_browser,
entity_browser_entity_form, media, media_library y views.
Al instalar, el módulo fija media_browser en
dxpr_builder.settings a dxpr_builder_media_modal; al desinstalar
lo fija a una cadena vacía (Basic file upload) y elimina
el estilo de imagen.
El explorador recomendado es Media Library del núcleo, que no necesita submódulo:
-
Desinstala el módulo heredado si está habilitado:
drush pm:uninstall dxpr_builder_media -y -
Ve a DXPR Studio > DXPR Builder > General Settings (
/admin/dxpr_studio/dxpr_builder/settings) y abre Media. -
Fija Browser type en Media Library y haz clic en Save settings. La desinstalación lo restableció a Basic file upload.
Conserva el submódulo solo en un sitio que depende de un Entity Browser
que devuelve ID de archivo; consulta
Las imágenes no se suben o desaparecen
para los errores que produce un explorador no coincidente. El módulo lleva
la única prueba PHPUnit del repositorio,
tests/src/FunctionalJavascript/MediaEntityBrowserTest.php; consulta
Pruebas.
Habilitar varios a la vez
drush en dxpr_builder_page dxpr_builder_block -y
Cada submódulo es independiente de los demás.
¿Qué sigue?
- Tipos de contenido para usar el constructor en tus propios tipos de contenido.
- Integración con Media Library para el selector de imágenes recomendado.