我们正在使用magento 1.9.0中的货到付款方式
我们只需要针对特定邮政编码/密码进行此付款选项。
这里有人得到解决方案:
How to restrict default COD in magento to certain zip codes only?
我真的无法用一些想法来实现这个解决方案。
任何人都可以逐步详细解释我的解决方案。
答案 0 :(得分:1)
您只需编辑文件/app/code/core/Mage/Payment/Model/Method/Cashondelivery.php
打开它并将下面的代码添加到类的最末端(就在文件中的最后一个“}”之前):
public function isAvailable($quote = null)
{
if ($quote) {
// Here is the list of restricted Zip Codes
$restrictedZips = array(
'85001',
'87965'
);
$address = $quote->isVirtual() ? $quote->getBillingAddress() : $quote->getShippingAddress();
$customerZip = $address->getPostcode();
if (in_array($customerZip, $restrictedZips)) {
return false;
}
}
return parent::isAvailable($quote);
}
P.S。:请注意,使用此解决方案,您需要在代码中输入zip-codes。如果您想避免这种情况,并且能够通过管理员面板输入zip范围,请与我们联系以获取更多详细信息。
答案 1 :(得分:1)
首先,您将在数据库中创建一个邮政编码表,并在您的产品页面上创建简单输入字段,现在为此创建验证,然后创建一个AJAX函数,用于检查邮政编码COD是否可用。