The totals block (\Magento\Sales\Block\Order\Totals
, order_totals
):
The Fixed Product Tax block (\Magento\Weee\Block\Sales\Order\Totals
, weee_ord_totals
) is added as a child to the totals block:
The totals block triggers its children’s initTotals()
method:
The \Magento\Weee\Block\Sales\Order\Totals::initTotals()
method adds the FPT totals row to the parent:
app/code/Magento/Weee/Block/Sales/Order/Totals.php#L39-L69
/**
* Create the weee ("FPT") totals summary
*
* @return $this
*/
public function initTotals()
{
/** @var $items \Magento\Sales\Model\Order\Item[] */
$items = $this->getSource()->getAllItems();
$store = $this->getSource()->getStore();
$weeeTotal = $this->weeeData->getTotalAmounts($items, $store);
$weeeBaseTotal = $this->weeeData->getBaseTotalAmounts($items, $store);
if ($weeeTotal) {
// Add our total information to the set of other totals
$total = new \Magento\Framework\DataObject(
[
'code' => $this->getNameInLayout(),
'label' => __('FPT'),
'value' => $weeeTotal,
'base_value' => $weeeBaseTotal
]
);
if ($this->getBeforeCondition()) {
$this->getParentBlock()->addTotalBefore($total, $this->getBeforeCondition());
} else {
$this->getParentBlock()->addTotal($total, $this->getAfterCondition());
}
}
return $this;
}