![](/img/trans.png)
[英]Hide COD payment method based on shipping class in WooCommerce cart
[英]How to hide payment method like COD and online payment ,with the selection of shipping methods like 'cash on delivery' or 'Prepaid ' in magento 1.9
我使用的是magento 1.9,我有两种送货方式货到付款,另一种是预付款。 如果客户选择预付款运输或客户选择预付款运输方式,我想隐藏COD付款方式->必须像未选择一样隐藏COD付款方式
请让我尽快知道
您需要从目录app / code / core / Mage / Payment / Model / Method修改Cash付款方式付款方式模型类文件,如Cashondelivery.php。 要覆盖核心文件,您可以创建一个新模块来扩展这些付款方式类,或将这些文件复制到本地文件夹,例如app / code / local / Mage / Payment / Model / Method。 然后,您需要在这些文件中添加新功能,以检查所选的送货方式,并在此基础上显示/隐藏特定的付款方式。 我在下面的代码中为货到付款方法添加了该功能,如下所示:-类Mage_Payment_Model_Method_Cashondelivery扩展了Mage_Payment_Model_Method_Abstract {
/**
* Payment method code
*
* @var string
*/
protected $_code = 'cashondelivery';
/**
* Cash On Delivery payment block paths
*
* @var string
*/
protected $_formBlockType = 'payment/form_cashondelivery';
protected $_infoBlockType = 'payment/info';
/**
* Get instructions text from config
*
* @return string
*/
public function getInstructions()
{
return trim($this->getConfigData('instructions'));
}
/* custom function to check shipping method and show/hide this payment methods*/
public function isApplicableToQuote($quote, $checksBitMask)
{
if ($quote->getShippingAddress()->getShippingMethod() == 'flatrate_flatrate') {
return false;
}
return parent::isApplicableToQuote($quote, $checksBitMask);
}
您需要找到自定义送货方式的送货方式代码,并将其替换为flatrate_flatrate代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.