Entity Holder Drupal module logo illustration

This project is not covered by Drupal’s security advisory policy.

Features

By its nature, content is dynamic. Site editors can create, update or remove pages, so it is hard to create references or links to content from code or configuration. For example, home page is set at the basic site settings by entering its path, eg. /node/1 if you want to set the content with ID 1 as front page. Therefore, such content must exist on every environment and be protected from deletion or unpublishing.

Entity Holder allows to define permanent placements where a content of a particular type must exist. Placements, known as entity holders, are defined by configuration and requires at least an administrative title, the page path, its public title and the type of content to be hold. Holders can be created empty, that is, with no content linked, or initially linked to a existing entity. Optionally, you can set a basic fallback content to be shown for empty holders on their path. Also, each holder has a unique route (with no arguments) named entity_holder.view.<holder_id> useful to reference the page from code or from other contexts.

Use cases

  • Having a holder for home page and 403/404 error pages will make sure that the given path will be the same and will exist across environments.
  • Create an entity holder for essential landing pages that must exist at a given path.
  • Every entity holder has its own route name, so it is easy set static menu links from custom modules.

Post-Installation

Once installed, go to Structure -> Entity holders and create your first holder. Users with permission to create instances of the entity type selected in the holder will see a link to its creation form on the page with the holder path.

Related modules

  • Page Manager
    It supports the creation of new pages that are stored in configuration, and allows placing blocks within that page.
  • Default Content
    Enables modules to create new content on installation time. It could be used to create essential contents (like home page) on new site installations.

About this project

This module was published on Drupal Contribution Weekend 2024 Seville.

Supporting organizations: 
Initial implementation
Improvements and maintenance

Project information

Releases