
A Strapi plugin to extend your content-type schemas with layout and metadata fields, enabling schema-driven control over the Strapi Content Manager UI.
released August 11, 2025
npm install strapi-schema-extenderA Strapi plugin to extend your content-type schemas with layout and metadata fields, enabling schema-driven control over the Strapi Content Manager UI.
settings (like mainField, defaultSortBy, etc.) and list columns directly in your schema.Add layouts, metadatas, and a content-manager block to your content-type schema:
{
"kind": "collectionType",
"collectionName": "pages",
"info": { "singularName": "page", "pluralName": "pages", "displayName": "Pagina" },
"options": { "draftAndPublish": true },
"pluginOptions": { "i18n": { "localized": true } },
"content-manager": {
"settings": {
"mainField": "id",
"defaultSortBy": "id",
"defaultSortOrder": "ASC"
},
"list": ["id", "title", "parent", "slug"]
},
"attributes": {
"title": {
"type": "string",
"required": true,
"layouts": {
"size": 12,
"position": 1
},
"metadatas": {
"label": "Naam",
"description": "De naam van het restaurant"
}
},
"parent": {
"type": "relation",
"relation": "oneToOne",
"target": "api::page.page",
"layouts": {
"size": 12,
"position": 0,
"hidden": true
},
"metadatas": {
"label": "Naam",
"description": "De naam van het restaurant"
}
}
// ... other attributes ...
}
}Note:
If you set"hidden": truein an attribute'slayouts, that field will be excluded from the Content Manager edit view.
Remove"hidden": trueto make the field visible again.
layouts and metadatas on each attribute.content-manager block for settings and list columns.size: Field width in the edit view (1–12).position: Order of fields in the edit view (lower = earlier).hidden: If true, the field will not appear in the edit view.label: Field label in the UI.description: Field description/help text.placeholder, visible, editable, mainField (for advanced use).settings:
mainField: Main field for relations/search.defaultSortBy: Default sort column.defaultSortOrder: Default sort order (ASC/DESC).list:
npm install strapi-schema-extender "strapi-schema-extender": {
"enabled": true,
}layouts, metadatas, and a content-manager block to your schema as shown above.Hey there! I'm actively maintaining this project on my free time, and if you've found it useful, I'd greatly appreciate your support. Donations will help cover hosting costs, tools, and allow me to dedicate additional time for updates, features, and bug fixes.
You can contribute by donating through this link:
I’d be forever grateful for your generosity. Thank you for helping keep this project alive and growing! ❤️
MIT
Share your work with the community and get it listed in the Strapi ecosystem for everyone to discover and use.
Submit
