TL; Д.Р . : Есть ли причина, по которой простые продукты, связанные с настраиваемым продуктом, должны быть в том же наборе атрибутов, что и сам настраиваемый продукт? Я имею в виду, есть ли техническая причина? Я знаю причину "здравого смысла". Если вы продаете пару обуви, то все версии, в зависимости от цвета и размера, также должны быть обувью .
Длинная версия : у меня была задача «объединить» некоторые настраиваемые продукты. Я имею в виду от 2 или более, чтобы сделать только один. Я не хотел делать их вручную из-за количества продуктов, и я не хотел проходить через$product->load(..)->set...()->save()
из-за количества времени, необходимого для запуска сценария. Поэтому я замкнул процесс, потому что был уверен, что ни один из простых продуктов не перекрывается. Было уникальное сочетание размера и цвета. Я сделал это:
Mage::getResourceSingleton('catalog/product_type_configurable')
->saveProducts($mainConfigrableProduct, $simpleProductIds);
где $simpleProductIds
- массив всех простых идентификаторов продуктов, связанных с настраиваемыми продуктами, которые необходимо объединить.
Это прекрасно работало для большинства продуктов, но у некоторых были проблемы.
Если бы я позвонил
$productIds = $product->getTypeInstance()->getUsedProductIds()
Я бы получил все простые идентификаторы продуктов, но в бэкэнде появились только некоторые из них. Покопавшись в течение некоторого времени, я обнаружил, что были показаны только те, которые имеют тот же набор атрибутов, что и настраиваемый продукт. Другой набор атрибутов очень похож на первый, только некоторые незначительные отличия, но он содержит настраиваемые атрибуты (размер и цвет).
А теперь странная вещь. В интерфейсе я ожидал увидеть либо все продукты ($ productIds в приведенном выше коде), либо только продукты в одном наборе атрибутов. Ну, было что-то среднее.
- 20 идентификаторов сопутствующих товаров - 5 размеров, 4 цвета
- 10 связанных продуктов в бэкэнде - 5 размеров, 2 цвета - остальные 2 цвета (10 продуктов) были в другом наборе атрибутов
- 15 комбинаций в интерфейсе - 5 размеров 3 цвета (???)
Я смог решить проблему, изменив набор атрибутов для продуктов, которые не появлялись, но я все еще озадачен.
Примечание : не пытайтесь делать это дома. Или вы можете попробовать это дома, но не на живом сервере.