Skip to content

feat(cms-base-layer): improve feedback for unmapped CMS elements#2336

Open
Maciek Kucmus (mkucmus) wants to merge 7 commits intomainfrom
feat/cms-documentation-for-unmapped-elements
Open

feat(cms-base-layer): improve feedback for unmapped CMS elements#2336
Maciek Kucmus (mkucmus) wants to merge 7 commits intomainfrom
feat/cms-documentation-for-unmapped-elements

Conversation

@mkucmus
Copy link
Contributor

@mkucmus Maciek Kucmus (mkucmus) commented Mar 17, 2026

closes: #2329

Summary

Improves CMS rendering DX for developers working with unmapped CMS components:

  • Dev placeholder — unimplemented blocks/elements now render a visible outlined box (brand colors) instead of an empty div, showing the expected component name, a docs link, and a "copy AI prompt" button with the full live API content pre-filled
  • Console warnings — actionable messages with the filename to create and a direct docs URL
  • Nuxt DevTools — added "CMS Elements" tab
  • Docs — new missing-component page with a step-by-step implementation guide linked directly from the placeholder; expanded shopping-experiences.md with the CMS rendering workflow

Screenshots

(removed one component for tests)

image image

@vercel
Copy link

vercel bot commented Mar 17, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
frontends-starter-template-extended Ready Ready Preview, Comment Mar 19, 2026 9:28am
frontends-vue-starter-template Ready Ready Preview, Comment Mar 19, 2026 9:28am
old-frontends-demo Ready Ready Preview, Comment Mar 19, 2026 9:28am
shopware-frontends-docs Ready Ready Preview, Comment Mar 19, 2026 9:28am

Request Review

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves developer experience when CMS elements/blocks are unmapped by rendering visible dev-mode placeholders with component name, docs link, and an AI prompt copy button. Also adds console warnings, a Nuxt DevTools tab, and new documentation.

Changes:

  • Dev-mode placeholder component (CmsNoComponent.vue) now shows component name, docs link, and "copy AI prompt" button instead of a plain error message
  • CmsGenericElement and CmsGenericBlock render the placeholder in dev mode with console warnings, and render empty div in production
  • New documentation page and sidebar/index updates for implementing missing CMS components

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
CmsNoComponent.vue Redesigned placeholder with expected component name, docs link, and AI prompt copy button
CmsGenericElement.vue Dev-mode console warning and placeholder rendering for missing elements
CmsGenericBlock.vue Dev-mode console warning and placeholder rendering for missing blocks
missing-component.md New step-by-step guide for implementing missing CMS components
shopping-experiences.md Added CMS rendering workflow section explaining data-to-component mapping
index.md Added link to new missing-component guide
sidebar.ts Added sidebar entry for missing component page
nuxt-module/src/index.ts Added "CMS Elements" tab to Nuxt DevTools

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mkucmus
Copy link
Contributor Author

I added a query param handler for missing component page in docs:

image

thanks to this a developer knows exactly what to do.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves developer experience when Shopware CMS sections/blocks/elements can’t be resolved to Vue components by adding dev-only placeholders + warnings, surfacing related docs, and expanding documentation around the CMS rendering workflow.

Changes:

  • Render a visible dev-mode placeholder (CmsNoComponent) and log actionable console warnings when CMS components are missing.
  • Add a Nuxt DevTools “CMS Elements” tab and link new/updated CMS docs pages from navigation.
  • Add a dedicated “missing component” docs guide and expand Shopping Experiences documentation with the CMS rendering workflow.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/nuxt-module/src/index.ts Adds a Nuxt DevTools custom tab linking to CMS docs.
packages/cms-base-layer/app/components/public/cms/CmsNoComponent.vue Introduces a richer dev placeholder UI with docs link and “copy AI prompt” behavior.
packages/cms-base-layer/app/components/public/cms/CmsGenericElement.vue Switches missing-element handling to dev-only warnings + placeholder render.
packages/cms-base-layer/app/components/public/cms/CmsGenericBlock.vue Switches missing-block handling to dev-only warnings + placeholder render.
apps/docs/src/getting-started/cms/missing-component.md New step-by-step guide for implementing missing CMS components.
apps/docs/src/getting-started/cms/index.md Adds the new “missing component” guide to CMS landing page references.
apps/docs/src/framework/shopping-experiences.md Documents the CMS data → component resolution workflow and dev feedback behavior.
apps/docs/.vitepress/sidebar.ts Adds the new guide to the docs sidebar navigation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +50 to +51

const fileDir = computed(() => cmsType.value + '/')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

document CMS rendering workflow and improve feedback for unmapped CMS elements

2 participants