Magento 2 - Программно Отменить Специальную цену
У меня есть скрипт импорта, который импортирует конфигурации и варианты.
Установлена специальная цена , если она установлена в моем XML-документе импорта. Если специальная цена не установлена, я пытаюсь удалить специальную цену. - Но это не работает! - Специальная цена уже установлена, после сохранения!
if ($oProductGroupVariantProductItem->getSpecialpriceBrutto() > 0) {
$oSimpleProduct->setSpecialPrice($oProductGroupVariantProductItem->getSpecialpriceBrutto());
} else {
$oSimpleProduct->setSpecialPrice('');
}
Что я делаю не так?
Спасибо Андре
2 answers
Сохранение цены и принудительное обновление атрибута продукта с использованием модели ресурсов, разработанной в моей ситуации:
$product->setSpecialPrice(null);
$product->getResource()->saveAttribute($product, 'special_price');
Примечание: Убедитесь, что объект $product имеет store_id =0. Атрибут special_price является глобальным атрибутом. Если store_id не будет равен 0, этот метод не будет работать, тогда вы попытаетесь сбросить значение special_price.
Вам просто нужно сохранить продукт после обновления атрибутов.
Попробуйте это:
$oSimpleProduct->save();