我想修改发票的展示方式,并按照https://magento.stackexchange.com/questions/41650/how-to-change-pdf-invoice-layout此处https://www.hummingbirduk.com/remove-tax-pdf-invoices-magento/提供的建议进行操作。
我想要的是重新排列列并使TAX列消失。我设法为简单的产品这样做。
问题是可配置产品和捆绑产品仍会显示包含税栏的组件,而其他产品仍然会被取代。
code / local / mage / sales / model / order / pdf / Invoice.php(评论从第77行开始的行)
$lines[0][] = array(
'text' => Mage::helper('sales')->__('Tax'),
'feed' => 495,
'align' => 'right'
);
将隐藏标题标签,这是正常的。
code / local / mage / sales / model / order / pdf / Items / Invoice / Default.php(从第106行开始评论此片段)
$lines[0][] = array(
'text' => $order->formatPriceTxt($item->getTaxAmount()),
'feed' => 495,
'font' => 'bold',
'align' => 'right'
);
将使纳税领域对于简单产品隐藏,而不是来自作为捆绑/可配置组件的简单产品的那些。
问题是这些文件都不对PDF发票中可配置和捆绑的呈现方式负责。
我可以确定的是,这些产品是使用
中的此功能呈现的code / local / mage / sales / model / order / pdf / Abstract.php(第760行)
protected function _drawItem(Varien_Object $item, Zend_Pdf_Page $page, Mage_Sales_Model_Order $order)
{
$orderItem = $item->getOrderItem();
$type = $orderItem->getProductType();
$renderer = $this->_getRenderer($type);
$this->renderItem($item, $page, $order, $renderer);
$transportObject = new Varien_Object(array('renderer_type_list' => array()));
Mage::dispatchEvent('pdf_item_draw_after', array(
'transport_object' => $transportObject,
'entity_item' => $item
));
foreach ($transportObject->getRendererTypeList() as $type) {
$renderer = $this->_getRenderer($type);
if ($renderer) {
$this->renderItem($orderItem, $page, $order, $renderer);
}
}
return $renderer->getPage();
}
然而,我找不到定义可配置渲染器的位置。
答案 0 :(得分:0)
将文件复制到
本地/法师/捆绑/型号/销售/订购/ PDF /项目
来自
核心/法师/捆绑/型号/销售/订购/ PDF /项目
在Invoice.php
评论专栏146&147
$tax = $order->formatPriceTxt($_item->getTaxAmount());
$line[] = array('text' => $tax,'feed' => 495,'font' => 'bold', 'align' => 'right');