CMS: Add support for Template Label #617
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds support for user-friendly template labels in the Root.js CMS, allowing developers to specify display names that are more intuitive for content editors.
Problem
Currently, the CMS displays technical template names (e.g.,
TemplateHomepageHero) in the module selector dropdown, which are not user-friendly for content editors:Solution
Added an optional
labelfield to template schemas that allows developers to specify user-friendly display names:Implementation Details
1. Schema Interface Enhancement
2. UI Component Update
Updated the DocEditor component to use the label when available, falling back to the technical name:
3. Example Usage
Added labels to example templates:
TemplateHero→ displays as "Hero Section"Template5050→ displays as "Two Column Layout"Benefits
Testing
✅ All existing tests pass
✅ New label functionality tests added and passing
✅ Backward compatibility confirmed
✅ Schema compilation successful
Now content editors will see "Home Hero" instead of "TemplateHomepageHero" in the dropdown, making the CMS much more user-friendly.
Fixes #441.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.