Skip to content

Events & Event Subscribers

When to Use

When you need to hook into Plus Suite's event system to customize behavior, or understand the complete event flow.

Event Catalog: Navigation+ Events

Event Class When Dispatched
ShouldNotEditModeEvent navigation_plus\Event\ShouldNotEditModeEvent Before enabling Edit Mode — allows blocking
SettingsSidebarEvent navigation_plus\Event\SettingsSidebarEvent Building settings sidebar — add settings forms
EditableFieldAttributes navigation_plus\Event\EditableFieldAttributes Rendering fields — add editing attributes
EditableUiBuilder navigation_plus\Event\EditableUiBuilder Building editable UI — modify UI build
LayoutBuilderNewMedia navigation_plus\Event\LayoutBuilderNewMedia New media dropped on page
LayoutBuilderReplaceMedia navigation_plus\Event\LayoutBuilderReplaceMedia Media replaced on existing block

Event Catalog: LB+ Events

Event Class When Dispatched
PlaceBlockEvent lb_plus\Event\PlaceBlockEvent Block placed from sidebar
PrepareLayoutEvent lb_plus\Event\PrepareLayoutEvent Before layout renders in edit mode
SectionToolIndicatorEvent lb_plus\Event\SectionToolIndicatorEvent Building section hover actions
BlockToolIndicatorEvent lb_plus\Event\BlockToolIndicatorEvent Building block hover actions

Event Catalog: Edit+ Events

Event Class When Dispatched
FieldAttributes::ALTER edit_plus\Event\FieldAttributes Before form items rendered
FieldAttributes::AFTER_BUILD edit_plus\Event\FieldAttributes After form items built
BlockPropertiesEvent edit_plus\Event\BlockPropertiesEvent Adding custom block properties
AddEmptyField edit_plus\Event\AddEmptyField Auto-generating empty field values
NoChangeTool edit_plus\Event\NoChangeTool Checking if Change tool should appear
FieldProperties edit_plus\Event\FieldProperties Managing field-level properties

Event Catalog: Twig Events

Event Class When Dispatched
TwigRenderTemplateEvent twig_events\Event\TwigRenderTemplateEvent During every Twig template render

Decision: Common Extension Points

I Want To... Subscribe To
Block Edit Mode for certain entities ShouldNotEditModeEvent
Add settings to the sidebar SettingsSidebarEvent
Add custom block properties BlockPropertiesEvent
Set defaults on block placement PlaceBlockEvent
Prevent inline editing on a field NoChangeTool or field third-party settings
Add section-level actions SectionToolIndicatorEvent
Add block-level actions BlockToolIndicatorEvent
Intercept media replacement LayoutBuilderReplaceMedia
Modify form item attributes FieldAttributes::ALTER

Common Mistakes

  • Do not subscribe to TwigRenderTemplateEvent without performance testing — it fires on every template.
  • Do not modify events after stopping propagation — downstream subscribers won't see changes.

See Also