문제

내가 찾는 collect_totals 관찰자가 사용할 수 있습니다.두 가지가 있는 관측, sales_quote_collect_totals_beforesales_quote_address_collect_totals_before.

그들은에서 찾을 수 있습니다 /app/code/core/Mage/Sales/Model/Quote.php/app/code/core/Mage/Sales/Model/Quote/Address.php.

내가 무엇인지 궁금의 차이를 두 파일을 모두 파일을 수집 총 기능은 무엇입니까?

도움이 되었습니까?

해결책

/app/code/core/Mage/Sales/Model/Quote.php

는 견적 등을 위해 인용체

/app/code/core/Mage/Sales/Model/Quote/Address.php

는 견적 주소 등에 대한 모든 인용 주체

견적 개체는 일반적으로 포함되 2 주체하지만 포함할 수 있습니다면 여러 배달 주소가 존재합니다.

에 관해서는'collecttotals'법(s):첫째로 서로를 이해하는 방법,그리고 그 목적:

방법 Mage_Sales_Model_Quote, 은 초기 진입점 Totals Collector 서브시스템 및 의 카트 저장

(이것은 당신을 주입하는 클래스 메소드로는 카 계산 결과에 영향을 미칠 카 합계-예를 들어:계산의 카트인)

호 교류는 다음과 같다:

Mage_Checkout_Model_Cart::save()

Mage_Sales_Model_Quote::collectTotals() <---항목의 포인트의 하위 시스템

Mage_Sales_Model_Quote_Address::collectTotals() <-각 주소에 연결된 인용체 라고를 통해,루프에서 견적서 수집 총 객체입니다.

지금 주소 collecttotals 방법,반복 수행하여 모든 시스템에 정의된'수집가 부르고,각 클래스/메소드,따라서 허용하는 합계를 위한 순서를 조정하여 추가 계산을(기억하는 모든 합계 걸프 주소 object(s),실제 인용 허가 젠토를 수행을 점검하는 여러 주소)

foreach ($this->getTotalCollector()->getCollectors() as $model) {
            $model->collect($this);
} 

목록 가능한'수집이 될 것이다:

enter image description here

삽입할 수 있습니다 당신의 자신의 합계 수집을 통해 모듈의 구성은 이야 collect 방법으로 진입 점.

<sales>
   <quote>
      <totals>
         <giftpromo>
           <class>giftpromo/promo_gift</class>
           <after>discount</after>
           <before>tax,grand_total</before>
           <sort_order>12410</sort_order>
         </giftpromo>
      </totals>
    </quote>
</sales>

지금 고려하고,모든 해당 정보를,그리고 발생한 이벤트:

sales_quote_collect_totals_before:면 발생하기 전에 모든 주체로드,및 합계 컬렉터 작업

sales_quote_address_collect_totals_before:면 발사 내부의 견적 주소 object(s)기 전에,각 주소 개체를 실행하고 목록에 잠재적인 컬렉터 개체입니다.

지 모르고 당신의 최종 게임,내가 되지 않을 것을 확인할 수 있는 권리는 당신을 위해 하나,그러나,또한 제안을 고려하지 않은 경우,권고할 가장 적합한 추가로서 새로운 컬렉터에 대한 합계 컬렉터 시스템

이 정보를 확인하는 데 도움을 주는 올바른 방법 기능을 확장하고,납품 안정적인 솔루션입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top