2

Magento 中的 pdf 发票有问题。我想自定义 pdf 发票,我用它来交付。所以我需要一个总价(只有总价)的字段。我怎样才能得到这个总价?

4

1 回答 1

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;
}
于 2012-10-09T00:26:24.303 回答