주문 소계를 기반으로 배송 방법을 활성화/비활성화하는 방법은 무엇입니까?
-
13-12-2019 - |
문제
나는 젠토 학습 및 카트의 소계가$100 이상 경우에만 나타나는 배송 방법을 만들려고 노력하고있다.
나는 시도 getSubTotal()
기능 collectRates()
,그럼 return false
반환 값이 100 보다 작은 경우.그러나 항상 반환됩니다 0
.나는 그것이 그 단계에서 계산되지 않은 것 같아요,그게 사실입니까?
그리고 내가 원하는 것을 할 수있는 다른 방법이 있습니까?
도와주세요...당신에게 많은 감사!
해결책
당신의 collectRates
방법은 다음과 같아야합니다
public function collectRates(Mage_Shipping_Model_Rate_Request $request)
{
//if method is disabled
if (!$this->getConfigFlag('active')) {
return false;
}
if ($request->getPackageValue() < 100) {
return false;
}
/** @var Mage_Shipping_Model_Rate_Result $result */
$result = Mage::getModel('shipping/rate_result');
$method = Mage::getModel('shipping/rate_result_method');
$method->setCarrier($this->_code); //add here the payment method code
$method->setCarrierTitle($this->getConfigData('title')); //or you can add any title if it's not configurable
$method->setPrice(your shiping cost here);
$result->append($method);
return $result;
}
제휴하지 않습니다 magento.stackexchange