默认后端Magento 1.8.1 FedEx设置不允许选择删除保险并强制项目的默认值完全投保。
'Version' => $this->getVersionInfo(),
'RequestedShipment' => array(
'DropoffType' => $r->getDropoffType(),
'ShipTimestamp' => date('c'),
'PackagingType' => $r->getPackaging(),
'TotalInsuredValue' => array(
'Amount' => $r->getValue(),
'Currency' => $this->getCurrencyCode()
我试图将'金额'设置为99美元(如果损坏,所有货物都会获得默认的100美元保险)。我应该添加以下行:
'金额'=> 99,
请告知:)
答案 0 :(得分:0)
将金额设置为99将按预期工作。
答案 1 :(得分:0)
我正在尝试删除保险价值,因此我的解决方案也适合您。
正如@Chris所指出的,你应该重写这个文件app/code/core/Mage/USA/Model/Shipping/Carrier/Fedex.php
并更改方法_formRateRequest
如何取消保险
注释代码如下所示:
(第330行)
'RequestedShipment' => array(
'DropoffType' => $r->getDropoffType(),
'ShipTimestamp' => date('c'),
'PackagingType' => $r->getPackaging(),
// 'TotalInsuredValue' => array(
// 'Amount' => $r->getValue(),
// 'Currency' => $this->getCurrencyCode()
// ),
'Shipper' => array(
'Address' => array(
'PostalCode' => $r->getOrigPostal(),
'CountryCode' => $r->getOrigCountry()
)
),
AND (第380行)
if ($purpose == self::RATE_REQUEST_GENERAL) {
// $ratesRequest['RequestedShipment']['RequestedPackageLineItems'][0]['InsuredValue'] = array(
// 'Amount' => $r->getValue(),
// 'Currency' => $this->getCurrencyCode()
// );
}
更改金额
如果你想使用修正值而不是评论该行,你应该将'Amount'设置为修复值
假设您需要固定金额100 $
更改代码,如下所示:
在方法
的顶部添加此变量$amount = 100;
(第330行)
'RequestedShipment' => array(
'DropoffType' => $r->getDropoffType(),
'ShipTimestamp' => date('c'),
'PackagingType' => $r->getPackaging(),
'TotalInsuredValue' => array(
'Amount' => $amount),
'Currency' => $this->getCurrencyCode()
),
'Shipper' => array(
'Address' => array(
'PostalCode' => $r->getOrigPostal(),
'CountryCode' => $r->getOrigCountry()
)
),
AND (第380行)
if ($purpose == self::RATE_REQUEST_GENERAL) {
$ratesRequest['RequestedShipment']['RequestedPackageLineItems'][0]['InsuredValue'] = array(
'Amount' => $amount,
'Currency' => $this->getCurrencyCode()
);
}
答案 2 :(得分:0)
关注@WonderLand说明就像一个魅力!我最初花了一个星期来弄清楚如何从费率计算中删除声明的值。我只是编辑了文件app / code / core / Mage / USA / Model / Shipping / Carrier / Fedex.php,在dreamweaver中搜索了$r->getValue()
并用100替换了所有实例。
SIDE注意:无论如何,我的所有缓存在magento配置下都已被禁用。不确定是否重要,但它并不要求我清除/清空任何缓存以立即在前端看到更改。