Skip to content

Installation

Drupal 11.3

Display Builder targets Drupal 11.3. No Drupal 10.x support is planned unless sponsored.

Like any other Drupal module, it is recommended to use composer:

composer require drupal/display_builder

Display Builder is split in sub-modules, one for each Drupal Core's display buildable:

They can be activated from Administration > Extends (/admin/modules) or with Drush:

drush -y en display_builder_entity_view display_builder_page_layout display_builder_views

You can also install Display Builder UI to configure Display Builder:

drush -y en display_builder_ui

Display Builder is automatically activating its dependencies:

  • UI Patterns: the engine of Display Builder
  • UI Patterns Field: for the entity overrides storage
  • UI Patterns Field Formatters: to format each field item in entity displays

We are also recommending:

Patches

Display Builder may require specific patches for its dependencies, it's recommended to ease this step using Composer Merge Plugin with this configuration in your main composer file:

composer require cweagans/composer-patches:^2 wikimedia/composer-merge-plugin:^2
composer config --json extra.merge-plugin '{ "include": ["web/modules/*/display_builder/composer.json"], "merge-extra": true }'
composer config extra.enable-patching "true"

Local libraries

Display Builder relies on Shoelace component library, and HTMX sse extension.

By default libraries are loaded with CDN, but you can switch to local copies with drush:

drush state:set display_builder.asset_libraries_local true
drush cache:rebuild

And switch back to CDN mode with drush:

drush state:delete display_builder.asset_libraries_local
drush cache:rebuild

Currently asset.packagist provides a version of Shoelace with Lit dependencies.

Installation with package manager is recommended.

From your installation libraries folder (web/libraries or app/libraries):

mkdir -p shoelace
cd shoelace
npm init -y
npm install @shoelace-style/shoelace
cd web/libraries
mkdir -p htmx-ext-sse
cd htmx-ext-sse
npm init -y
npm install htmx-ext-sse