/** * @param string $importKeyProductOptionType * @param array $localizedNames * @param string|null $importKeyTaxSet * * @return int */ public function importProductOptionType($importKeyProductOptionType, array $localizedNames = [], $importKeyTaxSet = null) { $productOptionTypeEntity = $this->queryContainer->queryProductOptionTypeByImportKey($importKeyProductOptionType)->findOneOrCreate(); if ($productOptionTypeEntity->isNew()) { $productOptionTypeEntity->save(); } $this->createOrUpdateOptionTypeTranslations($productOptionTypeEntity, $localizedNames); $associatedProductAbstractIds = $this->queryContainer->queryAssociatedProductAbstractIdsForProductOptionType($productOptionTypeEntity->getIdProductOptionType())->find(); foreach ($associatedProductAbstractIds as $idProductAbstract) { $this->touchProductAbstractById($idProductAbstract); } return $productOptionTypeEntity->getIdProductOptionType(); }