당신이
layout/sales.xml:268
를 보면 당신은 레이아웃 핸들 sales_email_order_items을 볼 수 있습니다. 그 내부에는 해당 템플릿이있는 "order_totals"블록이 있습니다. 전자 메일에 새 총계를 추가하려면 해당 전자 메일의 하위 항목으로 추가해야합니다. 275 행에서 'tax'라는 블록을 추가 한 것을 볼 수 있습니다.
totals.phtml 파일에서 foreach의 일부로 $ this-> getTotals()를 호출하는 것을 볼 수 있습니다. 이 메서드는에서 정의됩니다
Mage/Sales/Block/Order/Totals.php:281
이것은 방금 정의 된 총계를 반환합니다. 이 데이터는 그 정의 된 Config.xml 파일이 채워지는 : 전체에 대해 정의 블록이 있는지
<global><sales><quote><totals>...
totals.phtml 위로 점프, 그것을 확인한다. 이것은 config.xml 파일의 필드입니다. 커스터마이징하려는 합계 모델이 있다면 그렇게 할 수 있습니다.
그렇지 않으면 페이지가 렌더링되기 전에 (44 행의 _beforeToHtml() 호출) 자식 블록을 중개하고 'initTotals'메서드에 응답하면 해당 메서드를 호출합니다. 이 메서드는 합계를 나타내는 개체를 만들어 부모에게 추가해야합니다.
public function initTotals()
{
if ((float)$this->getParentBlock()->getSource()->getMytotalAmount() == 0) {
return $this;
}
$total = new Varien_Object(array(
'code' => $this->getNameInLayout(),
'block_name'=> $this->getNameInLayout(),
'area' => $this->getArea()
));
$after = $this->getAfterTotal();
if (!$after) {
$after = 'subtotal';
}
$this->getParentBlock()->addTotal($total, $after);
return $this;
}
나는 희망이 도움이 : 예를 들어, 다음 (I 공개적으로 게시 할 수 없습니다 코드를 기반으로) 내가 최근에 쓴 합계 블록에 대한 코드입니다.