주문 소계를 기반으로 배송 방법을 활성화/비활성화하는 방법은 무엇입니까?

magento.stackexchange https://magento.stackexchange.com//questions/86305

문제

나는 젠토 학습 및 카트의 소계가$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;
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top