CMS元素configComponent多组件仅显示首个的技术问题求助
解决Shopware CMS配置组件中多组件仅显示第一个的问题
出现这个问题的核心原因是Vue模板要求每个组件只能有一个根节点,你在sw_cms_element_test_config块中直接放置了两个顶级Vue组件,导致Vue无法正确解析渲染,只会渲染第一个根元素。
修正代码
把多个组件包裹在一个容器元素内即可,推荐使用Shopware自带的sw-container(贴合后台UI风格,自动处理组件间距),也可用普通<div>替代:
{% block sw_cms_element_test_config %} <sw-container> <sw-media-field v-model="imageId" required validation="required" /> <sw-colorpicker value="#fff" :alpha="true" v-model="imageTextBackgroundColor" label="pick a damn color ffs!" /> </sw-container> {% endblock %}
补充说明
- 若之前尝试将组件放在独立块仍无效,是因为独立块最终仍会被渲染为同级根元素,依然不符合Vue单根节点要求。
- 使用
sw-container能保证和Shopware后台的布局规范统一,避免额外的样式适配问题。
内容的提问来源于stack exchange,提问作者Turbulentarius
相关产品推荐
相关产品推荐

