I have a dropdown product attribute in store view level that i need to update programmatically for specific store:

I tried to update the product attribute programmatically like this:

// \Magento\Catalog\Model\Product\Action $_productAction
$storeId = 3;
$productId = 35;
        ) , array('test_id'=>30), $storeId);

The product attribute value is updated successfully.

The problem is when i checked the product attribute value to use default value like below:

enter image description here

it will be unchecked if I run those code, even though i set the product attribute value same as the default value

enter image description here

How can i avoid or prevent this and keep value checked, even if i update the value same as the default product attribute value ?

1 Answer 1


This is the expected behavior as you are passing the $storeId=3 so it will save your value on store-level no matter value is the same as the default value. If you don't want that then pass $storeId=0.

Hope this information will help you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.