我正在嘗試創建一個自定義命令,在其中我想利用 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
我希望這會有所幫助。
- 1 回答
- 0 關注
- 149 瀏覽
添加回答
舉報
0/150
提交
取消