如何在Shopware 6中禁用隐私政策勾选框及文本?
禁用Shopware 6隐私声明勾选框及文本的实现方法
Shopware 6后台没有直接提供禁用隐私声明勾选框的设置选项,但可以通过自定义Twig模板来实现,以下是具体步骤:
1. 定位目标模板文件
隐私声明勾选框通常出现在注册页面、结账流程等场景,对应核心模板路径如下:
- 通用勾选框组件:
vendor/shopware/storefront/Resources/views/storefront/component/consent/consent-checkbox.html.twig - 注册页面专属区块:
vendor/shopware/storefront/Resources/views/storefront/page/account/register/index.html.twig
2. 在自定义主题中重写模板
为避免核心文件更新被覆盖,需在你的自定义主题目录下创建对应路径的模板文件:
方法一:全局隐藏隐私声明勾选框
在主题目录下创建 storefront/component/consent/consent-checkbox.html.twig,添加判断逻辑过滤隐私声明项:
{% block component_consent_checkbox %} {# 仅渲染非隐私声明的勾选框 #} {% if consent.name != 'privacy' %} <div class="consent-checkbox"> {% block component_consent_checkbox_input %} <input type="checkbox" id="{{ consent.id }}" name="{{ consent.name }}" class="form-check-input" required="{{ consent.required }}" {% if consent.preChecked %}checked{% endif %}> {% endblock %} {% block component_consent_checkbox_label %} <label for="{{ consent.id }}" class="form-check-label"> {{ consent.translated.label|raw }} </label> {% endblock %} </div> {% endif %} {% endblock %}
注:
consent.name的值可能因Shopware版本或配置略有不同,可通过浏览器开发者工具查看实际表单字段名确认。
方法二:仅隐藏注册页面的隐私声明
在主题目录下创建 storefront/page/account/register/index.html.twig,删除或注释掉隐私声明对应的区块:
{# 注释或删除该区块即可隐藏注册页面的隐私声明勾选框 #} {# {% block page_account_register_consent %} {% sw_include '@Storefront/storefront/component/consent/consent-checkbox.html.twig' with { consent: page.consents.privacy } %} {% endblock %} #}
3. 清理缓存
修改模板后,需清理Shopware缓存使更改生效:
- 后台操作:进入「设置」→「系统」→「缓存管理」,点击「清空缓存」
- 命令行操作:执行
bin/console cache:clear
重要提醒:禁用隐私声明勾选框可能违反GDPR等数据隐私法规,请确保你的操作符合当地法律要求。
内容的提问来源于stack exchange,提问作者pim krook
相关产品推荐
相关产品推荐

