The series covers three common site-building tasks:
- This article: Build a Page Layout
- Part 2: Manage Displays (Upcoming, get notified)
- Part 3: Build a Feature-Rich Frontpage in Drupal (Upcoming, get notified)
Quick Summary
- Canvas focuses on a modern visual editing experience for content editors.
- Display Builder focuses on flexible layout and display configuration for site builders.
- Both rely on Single Directory Components (SDC) as the foundation for reusable UI components.
This article compares how both tools handle a common site-building task: building a page layout.
Setup
Tested version:
- display_builder:1.0.x-beta2/beta4 (30 Jan 2026/10 March 2026)
- canvas: 1.2.0 (26 Feb 2026)
Preparation (with ddev)
ddev drush site:install minimal
ddev composer require drupal/coffee
ddev drush pm:install navigation coffee
ddev drush theme:enable claro
ddev drush config:set system.theme admin claro
ddev drush config:set system.theme default hda_theme
ddev drush theme:dev on
The theme in use (hda_theme) is a minimal custom theme with SDCs. It has no base theme or other external dependencies and was built specifically for this project.
The module installations are straight forward.:
ddev composer require drupal/canvas
ddev composer require drupal/display_builder
Debugging tools
- Canvas:
- SDC list with debugging info in
/admin/appearance/component - Submodule
canvas_dev_mode
- Display Builder:
- SDC Devel: https://www.drupal.org/project/sdc_devel
- Display Builder Dev Tools: https://www.drupal.org/project/display_builder_dev_tools
- UI Patterns Library submodule with
/admin/appearance/ui/components
Resources
About Drupal Canvas and Display Builder
Drupal Canvas (formerly Experience Builder) is backed by Acquia. It introduces its own entity type (canvas_page) and the frontend is built in React. Display Builder is built by the UI Suite team and is based on the UI Patterns ecosystem which is tightly integrated with Drupal. Display Builder relies on HTMX for the site builder which is also adopted by Drupal Core. The UI Suite team also heavily accompanied the introduction of Single Directory Component (SDC) in Drupal core. Both projects integrate with SDCs.
Canvas and Display Builder: Feature Comparison
For more context see this issue and the interview with Michael Fanini.
It's obvious that both projects have slightly different main target groups:
- Canvas: Content editors and designers first, site builders later
- Display Builder: Site builders first, content editors later
Build a Page Layout
The page layout is everything outside the content area:
In Drupal this is usually handled by the block layout, where we move blocks into the theme-defined regions. The limitations are:
- Regions need to be defined and styled in the theme
- Placement is limited to pre-defined blocks
- It quickly gets messy: Blocks can have conditions (good), but those are only visible on the edit form
Canvas: Build a Page Layout
Expose Theme Regions to Canvas
It took me a while to figure out how the page layout can be edited in Canvas. But we can do so with every theme that has regions:
- Go to your theme settings
/admin/appearance/settings/your_theme - Click on
Use Drupal Canvas for page templates in this theme. - Select the regions your would like to expose to canvas and save (regions you don't select are not rendered at all).
Edit Regions in Canvas
- Now go to
/canvas - There we find a
Layers Icon in the left sidebar, but it is disabled
- We need a litte workaround here, because this will change as soon as we start editing any page
- To do so, open the Canvas Header top-center of the page and click
New
- Now we can go the Layers section and find our exposed regions
- Note: Only those regions are shown that actually contain content
- Once we click on one of the regions we see it highlighted in the page area
- We can now go to our Library (+ in left sidebar) and add Components or Blocks)
Edit Empty Regions
By default Canvas only shows regions with content in the Layers-Overview.
What we need to do to show e.g. the Main menu region:
- Go to any region with content
- Click on the context menu of any content there (three dots) and in context menu go to
Move to global region, select Main menu - Et voilà, now the
Main menu is also shown in the layers overview
Canvas mostly relies on SDCs to fill regions, but also allows blocks to be placed. In part 2 we look closer into that aspect.
Once we opted in to use Canvas page templates in our theme settings, the regions get exposed in Canvas. This replaces Drupals block layout.
Display Builder: Build a Page Layout
The Display Builder submodule for page layout is a full replacement for block layout and theme regions.
Create Page Layouts
Once enabled we can add multiple page layouts with conditions via /admin/structure/page-layout.
In this project, I created three page layouts:
From general to specific (bottom to top):
hda_page: This layout deals with everything that is not the frontpage and (because it is last in the list) is not covered by the layouts further on top of the list. These are mostly Views pages like /bloghda_node: The only difference of the layout for most of my node types (except for a dedicated display_builder node type, see Part 3) is that I show Breadcrumbs herehda_frontpage: Also no breadcrumbs and it is lacking the section wrapper because the frontpage display itself handles it (again, see Part 3 for more details)
Keep Track of Your Layouts
One downside is that we must add shared elements like the navbar and footer to each layout individually. If these elements change (for example the branding slogan or menu depth), we need to update each layout. For initial creation the Display Builder Presets help, but not for later adjustments. This is not a huge concern, but something to keep in mind when we start building layouts.
Components Take Over
At this point the system becomes almost entirely component-driven. Drupal blocks can still be placed where needed and Display Builder has some special block types, that we will test in part 2.
The only theme templates that are left outside of my component dirs are:
$ tree web/themes/hda_theme/templates/
web/themes/hda_theme/templates/
├── menu
│ └── menu--main.html.twig
└── page
├── breadcrumb.html.twig
└── html.html.twig
Key Takeaways
Display Builder is a complete replacement for Drupal's region and block layout system. It allows defining multiple layouts with conditions.
Canvas keeps the theme-defined regions and allows us to place components and other blocks. While the UI is not yet straight-forward it becomes clear where Canvas is heading: Provide a unified interface to edit page layout and content.
Next Article
In the next article we move one level deeper and compare how both systems handle display modes such as cards and full content displays. Subscribe to our newsletter to get notified on publication.
What About Your Next Project?
Do you have any questions on publishing workflows, streamlining site building or other Drupal issues? Get in touch with us!
Special thanks to pdureau, laurii and penyaskito for reviewing this article.