-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Bug Description:
The multi-select custom field does not respect the displayName property from the schema and instead displays the field's technical name (e.g., block.*.type instead of "Article type / Artikeltyp").
Environment:
- Strapi Version: 5.32.0
- Plugin Version: strapi-plugin-superfields@5.8.2
- Node Version: 22.18.0
- OS: macOS
Expected Behavior:
The multi-select field should display the displayName from the schema, similar to how standard Strapi fields work.
Actual Behavior:
The field displays the technical field name instead of the displayName. When used in a dynamic zone, it shows block.*.type instead of the configured display name.

Component Schema:
{
"attributes": {
"type": {
"type": "json",
"customField": "plugin::superfields.multi-select",
"displayName": "Article type / Artikeltyp",
"description": "Display only items of the selected types.",
"options": {
"selectType": "multi",
"nestedOptions": "",
"enumValues": [
"News:news",
"Story:story",
"Audio:audio",
"Video:video",
"Podcast:podcast",
"Termin:appointment"
]
}
}
}
}
Steps to Reproduce:
- Create a component with a multi-select custom field
- Set a displayName property on the field
- Use this component in a dynamic zone
- Open the content editor
- Observe that the field label shows the technical name instead of displayName
Root Cause:
In admin/components/multiSelectField.jsx line 83, the component uses the name prop directly as the label:
<Field.Label style={{ marginBottom: '5px' }} >{name}</Field.Label>
Proposed Fix:
The component should check for displayName in the attribute object before falling back to name:
const fieldLabel = attribute.displayName || label || name;
<Field.Label style={{ marginBottom: '5px' }} >{fieldLabel}</Field.Label>