Skip to content
  1. Extras
  2. PageBuilder
  3. Editor and manager
  4. CMP

PageBuilder CMP

Components → PageBuilder (SectionTypesManager.vue). Permission pagebuilder_manage_types is required for the Blocks tab. Other CMP tabs use standard manager permissions.

Four site-level tabs, not tied to a single resource:

TabTierPurpose
BlocksFreeUI builder for section types (pb_section_types)
UTMFreeGlobal UTM parameter registry (pb_utm_params)
CollectionsFreeResource form tab sets by template (pb_collections)
BasketProGlobal basket for deleted sections and table rows

PageBuilder CMP

Blocks

CRUD section types without PHP deploy. Built-in JSON from core/components/pagebuilder/sections/*.json can be edited, hidden, and restored in the catalog via CMP.

ActionWhat happens
OverrideRow in pb_section_types, overridesCode flag. Database wins at runtime
HideType hidden from the resource catalog; still visible in CMP with a Hidden badge
Remove (code type)removedCode tombstone in the database. Package JSON is not deleted
RestoreEnable Show hidden → Restore

On extra upgrade, pb_section_types rows are not overwritten: the database wins. Sections on already published pages keep rendering.

Processor mgr/sectiontype/remove accepts POST parameter lifecycle: hide, remove, restore (do not confuse with connector action).

JSON schema details: Developer → Section definition.

UTM

Parameters for {{utm:key}} placeholders and default values. Section visibility rules are set in the resource inspector (settings.utm), not on this tab.

Call PageBuilderUtmSession before PageBuilder on the front. See Snippets.

Collections

A collection binds to template_ids (empty list = all templates). When pagebuilder_collections_enabled = 1, legacy tabs resource_tab_enabled / resource_tables_tab_enabled are replaced by the dynamic set from CMP.

Tab types (tab_type)

TypeBehavior on resource
sections“Sections” tab (Vue pagebuilder-resource)
tableTabular resource data (table_key optional)
resourcesChild resources
emptyPlaceholder (config.message)
modx_collectionsBridge to MODX Collections (pagebuilder_collections_modx_bridge_enabled)
iframeURL in <iframe>

Processors: mgr/collection/list, save, remove, resolve.

Settings: System settings → Collections.

Basket (Pro)

Capability basket. Per-page basket in the resource draft stays in Free.

Indexes sections from draft.trash[] and table rows on delete. Syncs on pbOnAfterSave. On resource OnEmptyTrash, index entries for that resource_id are removed.

ActionPurpose
mgr/basket/listList (item_type, pagination)
mgr/basket/restoreRestore section or table row
mgr/basket/purgeRemove from index
mgr/basket/restoreall / purgeallBulk by ids array
WhereWhat it does
Resource editor → BasketPer-page: restore / purge in draft (Free)
CMP → BasketCross-resource: list, restore to source resource, purge (Pro)

CMP restore inserts the section at settings._trashIndex, same as per-page basket.