Sottomoduli.

Learn DXPR BuilderExtendTooling

La directory modules/ contiene tre sottomoduli. Due sono piccoli pacchetti di configurazione: un tipo di contenuto e un tipo di blocco collegati al builder. Il terzo è il vecchio selettore media Entity Browser che precede il supporto alla Media Library. Questa pagina documenta cosa installa ciascuno, da cosa dipende e come abilitarlo o dismetterlo.

Modulo Nome macchina Fornisce Stato
DXPR Builder Drag and Drop Page dxpr_builder_page drag_and_drop_page come tipo di contenuto Supportato
DXPR Builder Block Type dxpr_builder_block drag_and_drop_block come tipo di blocco Supportato
DXPR Builder Media dxpr_builder_media selettore media Entity Browser Legacy; nascosto dalla pagina Extend

Nessuno è obbligatorio. Il builder funziona su qualsiasi campo di testo la cui visualizzazione usa il formatter DXPR Builder (dxpr_builder_text); vedi Installazione sui tipi di contenuto esistenti.

DXPR Builder Drag and Drop Page

modules/dxpr_builder_page installa il tipo di contenuto Drag and Drop Page (node.type.drag_and_drop_page) da config/optional/:

  • Il campo body, con la visualizzazione predefinita che usa il formatter dxpr_builder_text e la visualizzazione form raggruppata con Field Group.
  • Tre campi DXPR Theme: field_dth_hide_regions, field_dth_main_content_width e field_dth_page_layout. Si installano solo quando esistono i loro field storage, forniti dal modulo DXPR Theme Helper.

Dipendenze da dxpr_builder_page.info.yml: field_group, text, node e dxpr_builder. hook_install() crea il field storage body quando non esiste. Quando la config opzionale non si installa, come nel profilo Minimal, installa tipo, campo body e visualizzazioni da sé, senza le parti menu_ui e path. dxpr_builder_page_update_8001() marca la config installata come imposta dal modulo.

src/DXPRBuilderPageUninstallValidator.php (registrato in dxpr_builder_page.services.yml) blocca la disinstallazione finché esiste un nodo drag_and_drop_page. Elimina o cambia il tipo di quei nodi prima.

  1. Attiva il modulo:

    drush en dxpr_builder_page -y
    
  2. Crea una pagina in /node/add/drag_and_drop_page. Il builder si avvia sul campo body quando la pagina è vista da un editor.

Se l’attivazione fallisce con "unmet dependencies", attiva Field Group e verifica che esista un field storage body; vedi Problemi dopo l’aggiornamento.

DXPR Builder Block Type

modules/dxpr_builder_block installa il tipo di blocco Drag and Drop Block (block_content.type.drag_and_drop_block) da config/optional/, con un campo body, il formatter dxpr_builder_text sulla visualizzazione predefinita e la visualizzazione form. Il tipo ha Create new revision attivo, e dxpr_builder_block_update_8002() lo attiva per le installazioni precedenti, quindi ogni salvataggio del builder su un blocco crea una revisione (vedi Content staging).

Dipendenze: text, node e dxpr_builder.

  1. Attiva il modulo:

    drush en dxpr_builder_block -y
    
  2. Crea un blocco in /block/add/drag_and_drop_block.

  3. Mettilo in una regione. Gli editor lo modificano sul posto in ogni pagina dove compare.

dxpr_builder_entity_type_alter() inserisce la classe propria del modulo Drupal\dxpr_builder\Entity\BlockContent, come fa per Node. La classe salva una stringa vuota nei campi builder vuoti, così l’editor ha sempre qualcosa a cui collegarsi. Un tipo di blocco creato da te funziona quindi allo stesso modo una volta che la sua visualizzazione usa il formatter DXPR Builder.

DXPR Builder Media

modules/dxpr_builder_media è il selettore immagini basato su Entity Browser usato dal modulo prima del supporto alla Media Library del core. È marcato hidden: true nel suo .info.yml, quindi non compare in Extend; puoi comunque attivarlo con Drush. Installa:

  • entity_browser.browser.dxpr_builder_media_modal: un browser modale etichettato DXPR Builder Image Browser con due widget, una scheda Media Library sostenuta dalla vista dxpr_builder_media e una scheda Upload new image che crea un’entità media image tramite Inline Entity Form.
  • views.view.dxpr_builder_media: la griglia media per il primo widget.
  • image.style.dxpr_builder_media_thumbnail: uno stile scala-e-ritaglia 300 per 300 pixel per la griglia.
  • Librerie view, claro_style e gin_style (dxpr_builder_media.libraries.yml). Il modulo collega il foglio di stile Gin alla vista quando il tema attivo è Gin o basato su di esso, e quello Claro altrimenti.

Dipendenze: inline_entity_form, entity_browser, entity_browser_entity_form, media, media_library e views. All’installazione il modulo imposta media_browser in dxpr_builder.settings a dxpr_builder_media_modal; alla disinstallazione lo imposta a una stringa vuota (Basic file upload) ed elimina lo stile di immagine.

Il browser consigliato è la Media Library del core, che non richiede sottomoduli:

  1. Disinstalla il modulo legacy se è attivo:

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

  3. Imposta Browser type a Media Library e fai clic su Save settings. La disinstallazione lo ha reimpostato a Basic file upload.

Tieni il sottomodulo solo su un sito che dipende da un Entity Browser che restituisce ID file; vedi Le immagini non si caricano o spariscono per gli errori prodotti da un browser non corrispondente. Il modulo contiene l’unico test PHPUnit del repository, tests/src/FunctionalJavascript/MediaEntityBrowserTest.php; vedi Test.

Attivarne più d’uno insieme

drush en dxpr_builder_page dxpr_builder_block -y

Ogni sottomodulo è indipendente dagli altri.

Prossimi passi