20 private $configurable;
25 private $configurableProductsProvider;
30 private $childrenProducts = [];
40 $this->configurable = $configurable;
41 $this->configurableProductsProvider = $configurableProductsProvider;
52 $configurableProductIds = $this->configurableProductsProvider->getIds(array_keys(
$productIds));
53 foreach ($configurableProductIds as
$productId) {
54 if (!isset($this->childrenProducts[
$productId])) {
57 $subProductIds = $this->childrenProducts[
$productId];
61 foreach ($subProductIds as $subProductId) {
62 $childValidationResult = isset(
$productIds[$subProductId])
65 $productIds[$subProductId] = $parentValidationResult + $childValidationResult;
__construct(\Magento\ConfigurableProduct\Model\ResourceModel\Product\Type\Configurable $configurable, ConfigurableProductsProvider $configurableProductsProvider)
afterGetMatchingProductIds(\Magento\CatalogRule\Model\Rule $rule, array $productIds)