我想覆盖类Magento\Paypal\Model\Config
中的受保护变量
变量是
protected $_supportedCurrencyCodes = [
'AUD',
'CAD',
'CZK',
'DKK',
'EUR',
'HKD',
'HUF',
'ILS',
'JPY',
'MXN',
'NOK',
'NZD',
'PLN',
'GBP',
'RUB',
'SGD',
'SEK',
'CHF',
'TWD',
'THB',
'USD',
'INR',
];
根据我的经验,我可以说在这种情况下我们不能使用插件。因此,我使用了<preference>
标签,但没有帮助。
下面是di.xml中的代码
<preference for="Magento\Paypal\Model\Config" type="Shawkatsoft\Customcheckoutapi\Model\Config" />
这是我的模型文件
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
// @codingStandardsIgnoreFile
namespace Shawkatsoft\Customcheckoutapi\Model;
/**
* Config model that is aware of all \Magento\Paypal payment methods
* Works with PayPal-specific system configuration
* @SuppressWarnings(PHPMD.ExcessivePublicCount)
* @SuppressWarnings(PHPMD.ExcessiveClassComplexity)
*/
class Config extends \Magento\Paypal\Model\Config
{
protected $_supportedCurrencyCodes = [
'AUD',
'CAD',
'CZK',
'DKK',
'EUR',
'HKD',
'HUF',
'ILS',
'JPY',
'MXN',
'NOK',
'NZD',
'PLN',
'GBP',
'RUB',
'SGD',
'SEK',
'CHF',
'TWD',
'THB',
'USD',
'INR',
];
}
我也在di.xml
<type name="Magento\Paypal\Model\Config">
<arguments>
<argument name="supportedCurrencyCodes" xsi:type="array">
<item name="INR" xsi:type="string">INR</item>
</argument>
</arguments>
</type>
但这也没有用!!