Skip to content

Frontend Editing

Frontend Editing lets content editors change content from the rendered page. Action links sit on the entity as it appears on the site. Clicking one opens the entity form in a sidebar next to the page, so editing never leaves the frontend.

A paragraph on the rendered page with its Frontend Editing action links: edit, move up, move down, delete, duplicate, and the add button

What it does

  • Edit in place. Every enabled entity gets an edit link. The form opens in a sidebar iframe beside the page, and can be widened or detached into its own browser window.
  • Manage reference items. Add, move, duplicate and delete the items of an entity reference field without opening the parent's form. Each operation is a separate permission.
  • Live preview. With All Entity Preview installed, unsaved values render on the page while you type.
  • Works with paragraphs. The frontend_editing_paragraphs sub-module adds paragraph support, including an experimental save queue that batches several paragraph edits into one save.
  • Works with page builders. Sub-modules cover Display Builder and core Layout Builder, both of which rebuild the render array in ways a plain render-array scan cannot follow.
  • Two AJAX transports. Classic Drupal AJAX, or htmx where it is available (Drupal 11.3 and later, or the htmx contrib module). No setting to choose between them.

How editing reaches the page

flowchart LR
    Config[frontend_editing.settings<br/>entity_types] --> Extra[extra_field_frontend_editing<br/>on the view display]
    Extra --> Render[ViewAlter injects<br/>action wrappers]
    TPS[Field formatter<br/>third-party settings] --> Render
    Render --> Links[Action links on<br/>the rendered page]
    Links --> Sidebar[Entity form<br/>in the sidebar iframe]

Two conditions must both hold before links appear on an entity: the bundle is listed in the module's entity_types setting, and the extra_field_frontend_editing extra field is placed on that bundle's view display. Add and move links need a third thing, the per-field formatter settings. See Setting it up.

Requirements

Optional:

Module Adds
All Entity Preview Live preview of unsaved values, and the save queue's storage
Paragraphs Edit Required by the paragraphs sub-module
Display Builder Covered by frontend_editing_display_builder
Layout Builder (core) Covered by frontend_editing_layout_builder

Start with Installation.