我在 Magento 中遇到 pdf 发票问题。我想定制 pdf 发票,我用它来送货。所以我需要一个包含总价的字段(只有总价)。 我怎样才能得到这个总价?
最佳答案
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;
}
关于Magento 自定义 PDF 发票,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12789994/