2013-09-29 4 views
0

Magento 1.7의 경우, 일정 금액 이상인 경우에만 정액 요금 발송을 표시 할 수있는 방법이 있습니까? 원칙적으로 유일한 옵션은 무료 배송 인 것으로 보이지만 차트의 소계가 xx 인 경우 내 목표는 정액 요금입니다 (소계가 더 낮은 경우 정상 요금이 사용됨). 감사! -EpenMagento Flat Rate 배송료가 일정 금액 이상인 경우에만 배송

답변

1

기본적으로 설정되지는 않습니다. 이렇게하려면 일률 운송 운송 업체 방법을 쉽게 확장 할 수 있습니다. 새 모듈을 만들고 간단 배송비 system.xml을 확장하여 최소 장바구니 가격에 대한 새 옵션을 제공하십시오. 이렇게하면 admin을 통해 구성 할 수 있습니다. 다음 클래스 Mage_Shipping_Model_Carrier_Flatrate를 확장하고 collectRates 메소드를 재정 의하여 카트 총계와 관리자 구성 값을 확인하십시오. 장바구니 값이 충분하지 않고 옵션으로 표시되지 않으면 false를 반환하고 그렇지 않으면 관리자에게 설정된 비용을 반환합니다.

편집 : 다음과 같은 결과가 발생합니다. 클래스를 확장하고 코어를 수정하지 마십시오!

public function collectRates(Mage_Shipping_Model_Rate_Request $request) 
{ 
    // Get The Minimum Order Value From Admin Config & Compare To Cart Subtotal (Base Prices) 
    if (!$this->getConfigFlag('minimum_order') || $request->getBaseSubtotalInclTax() < $this->getConfigFlag('minimum_order')) { 
     return false; 
    } else { 
     return parent::collectRates($request); 
    } 
} 
+0

안녕하세요. 나는 새 모듈을 만들 수 있었고 카트 가격에 옵션을 추가했다 ('minimum_order'라고 불렀다). 그리고 그것을 프론트 엔드에서 작동하게하십시오. 차트를 'minimum_order'값과 같거나 더 높게 설정 한 경우에만 새로운 정액 요금이 표시되도록 collectRates를 tweek로 관리하지 않았습니다. 친절하게 도와 줄 수 있니? 고마워요! – Espen

+0

예를 들어 업데이트되었습니다. $ this-> getConfigFlag() 메소드에주의를 기울이십시오. 이것은 주어진 캐리어에 대한 새 매개 변수의 관리자 구성 값을 검색합니다. 그러면 우리는 단순히 카트 부분합과 비교합니다. false를 반환하면 메서드를 사용할 수 없습니다. – Ashley

+0

안녕하세요. getConfigFlag 함수가 작동하지 않는 것은 관리자가 값을 가져 오지 않는 것처럼 보입니다. 그러나, 나는이 값을 얼마 동안 변경할 필요가 없으므로, 더 효과적이었던 코드의 하드 코드 버전을 시도했다 :'' ; \t} '그건 내 목표에 도달하는 데 도움이되지만, 불행히도 완벽한 방법은 아닙니다. 도와 주셔서 대단히 감사합니다. – Espen