[1.0.0-beta1] Add proper page management

Created on 12 June 2025, 25 days ago

Problem/Motivation

3 issues:

  • As soon as display_builder_page_layout is enabled it takes over native display which may result in a "broken" display until it is configured, instead of opt-in
  • we can manage only one "page layout" config
  • We have a soft dependency to https://www.drupal.org/project/page_manager for allowing page management, but this module is overkill for our needs and we want to avoid contrib depedencies

Proposed resolution

Both can be resolved by introducing our own page management:

  • we add a "PageLayout" (page_layout) config entity in display_builder_page_layout
  • when we install the module nothing happens on front, but it is now possible to add a page layout entity in /admin/structure/page-layout
  • a page layout config entity is merging page_manager's Page and PageVariant entities, with those properties:
    • entity_config_id: the ID of the Display Builder config entity last used
    • conditions: and attachment of condition plugins this config entity will be the page layout only if those conditions are met (like "Page access" in "Selection criteria " in page_manager's PageVariant and like "visibility" in Block config entities)
    • sources: an UI Patterns source plugins tree

Those PageLayout config entities will be orderable (like) so, on page rendering we load them one by one and use the first were all condition plugins are met.

📌 Task
Status

Active

Version

1.0

Component

display_builder_page_layout

Created by

🇫🇷France pdureau Paris

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024