You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shopware 6中如何在列表页显示父商品编号?

在Shopware 6商品列表页显示变体商品的父商品编号

要实现这个需求,你需要通过扩展商品列表查询条件获取父商品数据,再通过模板修改展示父商品编号,具体步骤如下:

1. 扩展商品列表查询条件(获取父商品数据)

Shopware 6的商品列表默认不会加载父商品关联数据,因此需要通过事件订阅器添加关联查询:

创建事件订阅器类

在你的插件目录下新建 src/Subscriber/ProductListingParentNumberSubscriber.php,内容如下:

<?php

namespace YourPluginNamespace\Subscriber;

use Shopware\Core\Content\Product\Events\ProductListingCriteriaEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;

class ProductListingParentNumberSubscriber implements EventSubscriberInterface
{
    public static function getSubscribedEvents(): array
    {
        return [
            ProductListingCriteriaEvent::class => 'onProductListingCriteria'
        ];
    }

    public function onProductListingCriteria(ProductListingCriteriaEvent $event): void
    {
        $criteria = $event->getCriteria();
        // 添加父商品关联,并仅选择需要的商品编号字段
        $criteria->addAssociation('parent');
        $criteria->getAssociation('parent')->addSelect('productNumber');
    }
}

注册订阅器

在插件的 services.yaml(或 services.xml)中注册该订阅器:

services:
    YourPluginNamespace\Subscriber\ProductListingParentNumberSubscriber:
        tags:
            - { name: kernel.event_subscriber }

2. 修改商品列表模板展示父商品编号

通过覆盖Shopware的商品卡片模板,添加父商品编号的展示逻辑:

覆盖模板文件

在插件(或自定义主题)的 src/Resources/views/storefront/component/product/card/box-standard.html.twig 中,找到合适的位置(比如商品名称下方)添加以下代码:

{% if product.parent is not null %}
    <div class="product-parent-number mt-2">
        {{ 'product.parentNumber'|trans({'%number%': product.parent.productNumber}) }}
    </div>
{% endif %}

添加翻译文案

在插件的 src/Resources/snippet/storefront/zh-CN/product.json 中添加翻译:

{
    "product": {
        "parentNumber": "父商品编号:%number%"
    }
}

若需要英文支持,在 en-GB/product.json 中添加:

{
    "product": {
        "parentNumber": "Parent Product Number: %number%"
    }
}

3. 测试验证

  1. 清除Shopware缓存(后台设置 → 系统 → 缓存管理)
  2. 刷新商品列表页面,查看变体商品下方是否显示对应的父商品编号

内容的提问来源于stack exchange,提问作者Raj Rami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 17:36:15