繁体   English   中英

在magento 1.9中如何隐藏付款方式(如COD和在线付款)以及选择“货到付款”或“预付”等运输方式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM