Magento “设定付款方式”;“货到付款”;仅限特定状态
我只想为站点所有者的状态设置“货到付款” 我知道如何设置“指定国家” 我正在使用Magento 1.8Magento “设定付款方式”;“货到付款”;仅限特定状态,magento,payment,magento-1.8,Magento,Payment,Magento 1.8,我只想为站点所有者的状态设置“货到付款” 我知道如何设置“指定国家” 我正在使用Magento 1.8 我如何才能做到这一点?LuFFy,您可以使用magento event observer执行此操作: 创建一个扩展,然后执行以下步骤: 在以下位置创建config.xml:app/code/community/Devamitbera/Statewisecod/etc/config.xml <?xml version="1.0" encoding="utf-8"?> <!--
我如何才能做到这一点?LuFFy,您可以使用magento event observer执行此操作: 创建一个扩展,然后执行以下步骤: 在以下位置创建config.xml:app/code/community/Devamitbera/Statewisecod/etc/config.xml
<?xml version="1.0" encoding="utf-8"?>
<!--
@Author Amit Bera
@Email dev.amitbera@gmail.com
@ Website: www.amitbera.com
*/-->
<config>
<modules>
<Devamitbera_Statewisecod>
<version>1.0.0</version>
</Devamitbera_Statewisecod>
</modules>
<global>
<models>
<statewisecod>
<class>Devamitbera_Statewisecod_Model</class>
</statewisecod>
</models>
</global>
<frontend> <!-- run observer event for frontend -->
<events>
<payment_method_is_active>
<observers>
<enable_cod_for_some_state>
<class>statewisecod/observer</class>
<method>EnableCod</method>
</enable_cod_for_some_state>
</observers>
</payment_method_is_active>
</events>
</frontend>
</config>
在app/etc/modules
<?xml version="1.0" encoding="utf-8"?>
<!--
@Author Amit Bera
@Email dev.amitbera@gmail.com
@ Website: www.amitbera.com
-->
<config>
<modules>
<Devamitbera_Statewisecod>
<codePool>community</codePool>
<active>true</active>
<depends><Mage_Payment/></depends>
</Devamitbera_Statewisecod>
</modules>
</config>
如果状态/区域不是下拉列表,则下面的逻辑是工作
elseif(is_null($ShippingAddress->getRegionId()) && !is_null($ShippingAddress->getRegion())):
$textListRegionName=array('West bengal','Delhi');
if(in_array($ShippingAddress->getRegion(),$textListRegionName)){
$result->isAvailable=true;
}else{
$result->isAvailable=false;
}
“if($method->getCode()='code')”中的“code”是什么?对不起,每次付款都有付款代码,请转到app\code\core\Mage\payment\Model\method查看所有付款方法列表。例如:Open Cashondelivery.php查看代码保护$\u code='Cashondelivery';好的,兄弟,谢谢,我试着。。!!如果有任何问题,请告诉我
if(in_array($ShippingAddress->getRegionId(),$CodEnableRegionIds)):
$result->isAvailable=true;
elseif(is_null($ShippingAddress->getRegionId()) && !is_null($ShippingAddress->getRegion())):
$textListRegionName=array('West bengal','Delhi');
if(in_array($ShippingAddress->getRegion(),$textListRegionName)){
$result->isAvailable=true;
}else{
$result->isAvailable=false;
}