我已经为运输方式集成了矩阵费率模块。但我有额外的要求
通过更改仓库选项来显示动态运费。
例如,我有 2 个仓库 A 和 B。当用户选择仓库 A 时,则
运费应相应更新。与仓库 B 相同。
我很困惑我该怎么做?
请帮忙。
我正在为类似的要求而苦苦挣扎。我必须根据用户选择的邮资方式来设置运费。
如果它对您有帮助,我将按照以下方式进行操作:
创建一个自定义运输方式,让用户选择仓库/邮资/其他。它应显示在 OnePageCheckout 运输方法步骤中。您可以轻松创建新的运输方式,只需谷歌一下。
在 template/checkout/shipping_method/available.phtml 中放置一个if($_rate->getCode()=='yourmodule_code')
条件,然后为用户可以看到的单选按钮编写代码。例如。仓库 1 和仓库 2。
根据用户选择使用模块的 collectRates() 方法[您已覆盖] 设置运费,如下所示
public function collectRates(Mage_Shipping_Model_Rate_Request $request) {
$result = Mage::getModel('shipping/rate_result');
if($show){
$method = Mage::getModel('shipping/rate_result_method');
$method->setCarrier($this->_code);
$method->setMethod($this->_code);
$method->setCarrierTitle($this->getConfigData('title'));
$method->setMethodTitle($this->getConfigData('name'));
$method->setPrice($price); //this price you can get from available.phtml using AJAX
$method->setCost($price);
$result->append($method);
}else{
$error = Mage::getModel('shipping/rate_result_error');
$error->setCarrier($this->_code);
$error->setCarrierTitle($this->getConfigData('name'));
$error->setErrorMessage($this->getConfigData('specificerrmsg'));
$result->append($error);
}
return $result;
}
希望能帮助到你。