如何在Shopware 6产品列表页将分类名称设为标题?
解决方案
直接模板调用(默认分类产品列表场景)
在storefront/Resources/views/storefront/component/product/listing.html.twig中,找到需要显示分类名称的标题位置,添加以下Twig代码:
{% if page.header.navigation.active %} {{ page.header.navigation.active.translated.name }} {% endif %}
page.header.navigation.active是Shopware 6默认提供的当前激活分类对象,包含该分类的所有关联数据translated.name会输出当前店铺语言下的分类名称,添加判断可兼容非分类入口的产品列表(如搜索结果页)
自定义场景的扩展方案
如果你的产品列表页是通过自定义路由/控制器实现的,默认变量不存在,可以通过以下方式处理:
- 订阅
ProductListingCriteriaEvent,在事件中为产品查询添加分类关联逻辑,获取当前分类数据并传递到模板 - 在自定义控制器中,从路由参数或请求中提取分类ID,查询分类实体后将其赋值给模板变量
内容的提问来源于stack exchange,提问作者Jesper Ingels
相关产品推荐
相关产品推荐

