cancel
Showing results for 
Search instead for 
Did you mean: 

Product custom option price scope issue

Product custom option price scope issue

Feature request from alexgoodey, posted on GitHub Aug 15, 2016

It is not possible to change the price of custom options at different scopes. If you change the scope when editing a product and change the price of a custom option the value is changed across all scopes. This functionality was present in Magento 1.

Steps to reproduce

  1. Create a Magento environment with multiple websites and store views
  2. Create a simple product
  3. Add a custom option to the product with different values with different pricing
  4. Save the product
  5. Change the store view scope you are editing in and change the pricing of the custom options
  6. Save
  7. Review the custom option pricing at default and other storeview scopes

Expected result

Price of the custom option should be different at the storeview scope.

Actual result

Price of the custom option is changed to the new value at all scope levels

5 Comments
apiuser
New Member

Comment from wert2all, posted on GitHub Aug 15, 2016

@alexgoodey Please, provide the used Magento version.

apiuser
New Member

Comment from alexgoodey, posted on GitHub Aug 15, 2016

Magento CE 2.1.0

andranik555
Senior Member

Is there any solution I have the same problem when updateing products from backend?
My magento version is Magento CE 2.1.0
Thanks

Abdul Razzaq
M1 Certified

It is defualt magento bug

 

Find bellow code in file magento2\vendor\magento\module-catalog\Model\ResourceModel\Product\Option\Value.php

 

$baseCurrency = $this->_config->getValue( \Magento\Directory\Model\Currency::XML_PATH_CURRENCY_BASE, 'default' );

 and replace bellow code 

 $baseCurrency = $this->_storeManager->getStore($object->getStoreId())->getBaseCurrencyCode();

 

Duke_Nukem
Senior Member
@Abdul Razzaq 
Hi. Tell me, please, the solution of a similar problem in Magento 1, if you can. The multi storeview pricing module is installed, but price for custom options is global (((