
- MODX 3
- PHP 8.2
- Vue 3


35 types in Free and 27 in Pro. Most Pro types are enabled by advanced-fields. Types datasource, form, product, and products also require capabilities datasources, forms, and minishop3. Every type has a page: schema JSON and a section data block.
Common meta keys (tab, width, description, default, active): overview.
| type | Layer | Page | Output and example |
|---|---|---|---|
relation | Pro | relation | JSON and Fenom |
multirelation | Pro | multirelation | JSON and Fenom |
gallery | Pro | gallery | JSON and Fenom |
map | Pro | map | JSON and Fenom |
table | Pro | table | Inspector grid. JSON and Fenom |
embeddedTable | Pro | embeddedTable | JSON and Fenom |
keyvalue | Pro | keyvalue | JSON and Fenom |
editorjs | Pro, advanced-fields | editorjs | A new field is created only in Pro. An already saved field still opens and writes |
currency | Pro | currency | JSON and Fenom |
imask | Pro | imask | JSON and Fenom |
combo | Pro | combo | JSON and Fenom |
multicombo | Pro | multicombo | JSON and Fenom |
tablecombo | Pro | tablecombo | Dropdown from a MODX class. JSON and Fenom |
tablemulticombo | Pro | tablemulticombo | Several values from a MODX class. JSON and Fenom |
fieldset | Pro | fieldset | JSON and Fenom |
dependent | Pro | dependent | JSON and Fenom |
jsongrid | Pro | jsongrid | JSON and Fenom |
daterange | Pro, advanced-fields | daterange | JSON and Fenom |
icon | Pro, advanced-fields | icon | JSON and Fenom |
link | Pro, advanced-fields | link | JSON and Fenom |
documents | Pro, advanced-fields | documents | JSON and Fenom |
address | Pro, advanced-fields | address | JSON and Fenom |
schedule | Pro, advanced-fields | schedule | JSON and Fenom |
datasource | Pro, capability datasources | datasource | JSON and Fenom |
form | Pro, capability forms | form | JSON and Fenom |
product | Pro, capability minishop3 | product | JSON and Fenom |
products | Pro, capability minishop3 | products | JSON and Fenom |
The field is visible when another field matches value (not equals).
{
"name": "extra_url",
"type": "url",
"label": "Extra link",
"showWhen": { "field": "show_extra", "value": true }
}Implementation: fieldVisibility.ts.
{
"name": "template",
"type": "tablecombo",
"label": "Template",
"optionsSource": {
"class": "modTemplate",
"valueField": "id",
"labelField": "templatename",
"limit": 100
}
}Processor: mgr/field/options. Hook: pbOnFieldValues.
Use the resource Tables tab or Collections tab type table. Field embeddedTable stores table_key and query options. See table settings and CMP.
Full list in FIELD_TYPE_ALIASES (fieldDefaults.ts). Common: relationship → relation, resources → resourcelist, boolean / listyesno → yesno, onlyreading → readonly, colorpicker → color, editor_js → editorjs.