
- MODX 3
- PHP 8.2
- Vue 3


Built-in blocks for pages in the MODX manager: pick a type, fill fields in the inspector, reorder blocks on the resource.
The key (key) goes into the PageBuilder snippet and document JSON. Add custom types via the control panel (Pro) or plugin on pbOnRegisterSectionDefinitions.
| key | Section | Category | Requirements |
|---|---|---|---|
contact | Contact | conversion | — |
cta | Call to action | conversion | — |
faq | FAQ | content | — |
gallery | Gallery | media | authoring: Pro; runtime in Free |
hero | Hero | hero | — |
richtext | Rich text | content | — |
spacer | Spacer | layout | — |
stats | Stats | Reviews & trust (social) | — |
testimonials | Testimonials | Reviews & trust (social) | — |
video | Video | media | — |
| key | Section | Requirements |
|---|---|---|
cards | Cards | — |
image | Image | — |
| key | Section | Category | Requirements |
|---|---|---|---|
blog_posts | Blog posts | content | pro |
brands_row | Brands row | Commerce (commerce) | pro, minishop3 |
categories_row | Categories row | Commerce (commerce) | pro, minishop3 |
contact_form | Contact form | conversion | pro, FetchIt |
contact_map | Contact with map | conversion | pro |
curated_products | Curated products | Commerce (commerce) | pro, minishop3 |
data_table | Data table | content | pro |
features | Features | content | pro |
gallery_carousel | Gallery carousel | media | pro |
logos | Partner logos | Reviews & trust (social) | pro |
map | Map | media | pro |
pricing_table | Pricing table | conversion | pro |
product_comparison | Product comparison | Commerce (commerce) | pro, minishop3 |
product_spotlight | Product spotlight | Commerce (commerce) | pro, minishop3 |
products_carousel | Products carousel | Commerce (commerce) | pro, minishop3 |
products_grid | Products grid | Commerce (commerce) | pro, minishop3 |
promo_banner | Promo banner | Commerce (commerce) | pro, minishop3 |
quiz | Quiz | conversion | pro, FetchIt |
related_products | Related products | Commerce (commerce) | pro, minishop3 |
spec_table | Spec table | content | pro |
structured_content | Structured content | content | pro |
tabs | Tabs | content | pro |
team | Team | Reviews & trust (social) | pro |
accordion | Accordion | content | pro |
before_after | Before / After | media | pro |
case_study | Case study | content | pro |
downloads | Downloads | content | pro |
dynamic_list | Dynamic list | content | pro, datasources |
filterable_grid | Filterable grid | content | pro, datasources |
form_builder | Form builder | conversion | pro, forms, FetchIt |
how_it_works | How it works | content | pro |
locations | Locations | content | pro |
media_split | Media + text | content | pro |
newsletter | Newsletter | conversion | pro |
notice | Notice | content | pro |
portfolio | Portfolio | content | pro |
quote | Quote | content | pro |
timeline | Timeline | content | pro |
Commerce sections require miniShop3. Without the package, SectionRequirementChecker removes them from the catalog. Override the check via pbOnCheckSectionRequirement.
quiz and contact_form need FetchIt on the storefront (separate install).
msProducts renders product sections: products_grid, products_carousel, product_spotlight, product_comparison, promo_banner, curated_products, related_products. pdoResources renders categories with class MiniShop3\Model\msCategory.
Newsletter is an HTML form that posts to an external action_url. It is not FetchIt. Accordion renders <details> with no JavaScript.
Form builder requires capability forms. Dynamic list and filterable grid require datasources.
With runtimeContext: true in JSON, quiz and contact form do too. These five types are part of the page context so the HTML cache does not freeze them.
Types that call runSnippet in the chunk are marked "cacheable": false. The document HTML cache does not freeze them: products_*, product_*, promo_banner, blog_posts, categories_row, data_table, curated products, related products.