Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: OpenID Connect / OAuth client 3.0.0-alpha9 New alpha version released for module openid_connect (3.0.0-alpha9). Release: Opensolr Search 4.5.0 Minor update available for module opensolr_search (4.5.0). Release: Timelinr 1.0.1 Minor update available for module timelinr (1.0.1). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Usage Milestone: Views Reference Filter Module entityreference_filter crossed 10,000 active installs. Usage Milestone: Dropdown Language Module dropdown_language crossed 10,000 active installs. Usage Milestone: Paragraphs Browser Module paragraphs_browser crossed 10,000 active installs. Usage Milestone: OpenAPI Module openapi crossed 10,000 active installs. Usage Milestone: Decoupled Router Module decoupled_router crossed 10,000 active installs. Module Revived: Entityqueue Buttons 1.1.2 Module entityqueue_buttons updated after 8 months of inactivity (1.1.2).

Embederator

301 sites No security coverage Drupal 9–11
View on drupal.org

This module allows you to manage custom third-party embeds, like forms or iframes, by using entity bundles. You define different types of embeds as configuration bundles, and then create individual embed instances as content entities, substituting fields for dynamic content. This approach provides site builders with control over markup, content editors with a simplified creation process, and themers with templating options for customization.

Manage custom third-party embeds with entity bundles.

There are many ways to go about embedding snippets of markup (CRM forms, internal iframes, etc etc.) but this module attempts to balance needs of admins, themers, and content editors. The "embederator" is a content entity, and "embederator_type" config entities serve as its bundles. An individual type of embed (e.g., a species of Blackbaud ticket purchase form) is represented by a bundle, while a particular instance of that form (e.g., to purchase tickets to the Nutcracker on Dec 14) is a single content entity of that bundle.

In this model, the bulk of the markup for the form is saved with the config entity as full_html and tokens are used to represent pieces of the individual form that change. When an individual embederator form is rendered, those tokens are subsituted using fields on the embederator entity. Since customizing an individual form is usually possible with a single ID or hash value, `embed_id` is included as a base field of the embederator and `[embederator:embed_id]` may be used when setting the markup for the bundle. Other fields may be added as needed to the bundle and as tokens in the embed markup.

Some advantages to this approach:

  • Sitebuilders may restrict access to the bundle configuration to limit security concerns about dealing with raw HTML
  • Content editors have access to a list of all embedded entities and are able to create a new embed with (usually) a single text field ID
  • Bundles are templatable as `embederator--BUNDLE.html.twig` so responsive wrappers may be customized (by default embeds get BEM-style wrappers with bundle identifiers)
  • Markup for embeds is importable/exportable config so may be modified headlessly

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Apr 2025
Latest release
1 year ago
Releases (12 mo)
0 ▼ from 1
Maintenance
Dormant

Releases

Version Type Core Release date
4.0.2 Stable 9–11 Apr 3, 2025