为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Shopware 6 中的产品流 ID 获取产品?

如何从 Shopware 6 中的产品流 ID 获取产品?

PHP
小唯快跑啊 2024-01-19 15:35:27
我正在尝试创建一个自定义命令,在其中我想利用 Shopware 6 的动态产品组功能来获取与特定产品组(又称产品流)中的过滤器匹配的产品。我这样做是为了最初获取流,但我不知道如何应用过滤器来获取产品。            $streamCriteria = new Criteria($productStreamIds);            $streamCriteria->addAssociation('productCrossSellings');            $streamCriteria->addAssociation('productExports');            $streamCriteria->addAssociation('filters');            $streams = $this->streamRepository->search($streamCriteria, $context)->getEntities();            /** @var ProductStreamEntity $stream */            foreach ($streams as $stream) {                foreach ($stream->getFilters() as $filter) {                    $productCriteria->addAggregation($filter); // DOES NOT WORK                    $productCriteria->addFilter($filter); // DOES NOT WORK EITHER                }            }我试图获取这filters给了我在产品流中应用的过滤器数组,但由于不同的预期类型,它并不直接适用于criteria->addFilter()。和productCrossSellings关联productExports也全部返回null(虽然我不知道这些变量有什么用,但我想也许它在内部以某种方式用于获取该组的关联产品)。所以我的问题是,我们如何获得与产品组中的过滤器匹配的产品?
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您可以检查\Shopware\Core\Content\ProductStream\Service\ProductStreamBuilder 它的使用方式\Shopware\Core\Content\Product\SalesChannel\CrossSelling\SalesChannelCrossSellingController::loadProductsForCrossSelling

我希望这会有所帮助。


查看完整回答
反对 回复 2024-01-19
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信