ruleResource = $ruleResource; $this->metadataPool = $metadataPool; } /** * Save handler * * @param string $entityType * @param array $entityData * @param array $arguments * @return array * @throws \Exception * @SuppressWarnings(PHPMD.UnusedFormalParameter) */ public function execute($entityType, $entityData, $arguments = []) { $linkField = $this->metadataPool->getMetadata($entityType)->getLinkField(); if (isset($entityData['website_ids'])) { $websiteIds = $entityData['website_ids']; if (!is_array($websiteIds)) { $websiteIds = explode(',', (string)$websiteIds); } $this->ruleResource->bindRuleToEntity($entityData[$linkField], $websiteIds, 'website'); } if (isset($entityData['customer_group_ids'])) { $customerGroupIds = $entityData['customer_group_ids']; if (!is_array($customerGroupIds)) { $customerGroupIds = explode(',', (string)$customerGroupIds); } $this->ruleResource->bindRuleToEntity($entityData[$linkField], $customerGroupIds, 'customer_group'); } return $entityData; } }