This one shows how to place a button that opens a modal window whose contents are paragraphs rather than a single text field.
Five content fields, one of them required
- Modal Button Text — required, because it is the label a visitor actually clicks.
- Modal Title — the heading inside the window.
- Modal Body — an unlimited paragraph field with no bundle restriction.
- Modal Footer — a second unlimited paragraph field, for actions or small print.
- Content Title — the optional heading that stays on the page beside the button.
What can go inside the window
Because the body and footer accept any bundle, a modal can contain a contact form, a card, a two-column split, or another set of tabs. That is the difference between this and a plain "text in a popup" solution: you are composing the modal from the same building blocks as the rest of the page, with the same styling panel.
How opening and closing is wired
The trigger button carries an id, and the window's id is that same id with a suffix appended. The script matches the two, then simply shows the window; the close control in the header's top-right corner hides it again. Animated Modal gives six entrances — zoom, from the top, bottom, left, right, or a fade — and the usual Display tab settings apply to the container behind it.
See the W3CSS Paragraphs module page for the other bundles you can nest into a modal.
Which core version
This project installs on Drupal 10, 11 and 12 and wants PHP 8.1 or above. Its successor, Paragraphs Bundles, starts at Drupal 11.3, so the modal here is the one to reach for while a site is still on 10 or early 11.
Would rather have this configured for you? That is Drupal development — or get in touch.