차이 판매 견적을하고 판매 견적 주소
-
12-12-2019 - |
문제
내가 찾는 collect_totals 관찰자가 사용할 수 있습니다.두 가지가 있는 관측, sales_quote_collect_totals_before 고 sales_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);
}
목록 가능한'수집이 될 것이다:
삽입할 수 있습니다 당신의 자신의 합계 수집을 통해 모듈의 구성은 이야 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)기 전에,각 주소 개체를 실행하고 목록에 잠재적인 컬렉터 개체입니다.
지 모르고 당신의 최종 게임,내가 되지 않을 것을 확인할 수 있는 권리는 당신을 위해 하나,그러나,또한 제안을 고려하지 않은 경우,권고할 가장 적합한 추가로서 새로운 컬렉터에 대한 합계 컬렉터 시스템
이 정보를 확인하는 데 도움을 주는 올바른 방법 기능을 확장하고,납품 안정적인 솔루션입니다.