我在Magento的pdf发票有问题。我想自定义pdf发票,我用它来发货。所以我需要一个总价格很高的领域(只有总计)。 我怎么能得到这个总价?
答案 0 :(得分:2)
Magento在PDF中显示总数的方式与购物车和结账时的方式非常相似;它检索总数的数组,在迭代它们时显示它们。
根据我的理解,您只想在发票PDF中显示总计?
可以在名为/app/code/core/Mage/Sales/Order/Pdf/Abstract.php
的函数中的insertTotals
中找到处理总计的代码。
由于它位于Abstract.php
文件中,代码将用于发票,贷项通知单等,因此您不仅必须通过将/app/code/core/Mage/Sales/Order/Pdf/Invoice.php
文件复制到/app/code/local/Mage/Sales/Order/Pdf/Invoice.php
来覆盖它(不要捣乱核心!),但你还必须覆盖insertTotals
功能,只显示总计数据:
public function insertTotals($page, $source){
$order = $source->getOrder();
$totals = $this->_getTotalsList($source);
$lineBlock = array(
'lines' => array(),
'height' => 15
);
foreach ($totals as $total) {
$total->setOrder($order)
->setSource($source);
// only allow Grand Total to be displayed
if ($total->getSourceField() != 'grand_total')
{
continue;
}
if ($total->canDisplay()) {
foreach ($total->getTotalsForDisplay() as $totalData) {
$lineBlock['lines'][] = array(
array(
'text' => $totalData['label'],
'feed' => 475,
'align' => 'right',
'font_size' => $totalData['font_size'],
'font' => 'bold'
),
array(
'text' => $totalData['amount'],
'feed' => 565,
'align' => 'right',
'font_size' => $totalData['font_size'],
'font' => 'bold'
),
);
}
}
}
$page = $this->drawLineBlocks($page, array($lineBlock));
return $page;
}