向Magento装箱单或发票PDF添加更多信息

向Magento装箱单或发票PDF添加更多信息,pdf,magento,Pdf,Magento,如何向Magento Packingslip PDF添加其他信息。我使用的是集成标签纸,因此我想在页脚添加重复的客户交货地址,以及一些细节,如订单中的项目总数和订单中项目的成本。我目前正在修改Mage/Sales/Model/Order/Pdf/中的本地文件,但我只设法更改为字体 编辑: 好的,我已经取得了很好的进展,并添加了我需要的大部分信息,但是,我现在偶然发现了一个问题。。我想得到每个订单和数量中所有物品的总重量 我在shipping.php中使用以下代码: 在foreach下(这在订单有

如何向Magento Packingslip PDF添加其他信息。我使用的是集成标签纸,因此我想在页脚添加重复的客户交货地址,以及一些细节,如订单中的项目总数和订单中项目的成本。我目前正在修改Mage/Sales/Model/Order/Pdf/中的本地文件,但我只设法更改为字体

编辑:

好的,我已经取得了很好的进展,并添加了我需要的大部分信息,但是,我现在偶然发现了一个问题。。我想得到每个订单和数量中所有物品的总重量

我在shipping.php中使用以下代码:

在foreach下(这在订单有拆分交付的情况下很有用-因为您可以有一个订单和多个“装运”,所以这就是为什么我在后面有代码:

foreach ($shipment->getAllItems() as $item){
    if ($item->getOrderItem()->getParentItem()) {
        continue;
...
然后我把它放在下面:

$shippingweight=0;
$shippingweight= $item->getWeight()*$item->getQty();
$page->drawText($shippingweight . Mage::helper('sales'), $x, $y, 'UTF-8');

这对于行总数很好。但对于整个装运来说不是。我需要做的是将这段代码“相加”对于装运中的每个项目,创建整个装运的总重量。非常重要的是,我只有装运的总重量,而不是订单,因为我将拆分装运。

几乎在
getPdf(…)
的末尾,在
Mage\u Sales\u Model\u order\u Pdf\u装运中,您将找到插入新页面的代码(1.5.0.1中的第93-94行)

发票PDF格式

在app/code/local/Mage/Sales/Model/Order/Pdf/Items/Invoice/Default.php上 将此添加到$lineBlock之前

 $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $this->getSku($item), array('weight'));

     $lines[][] = array(
       'text'  => 'Weight: '. $product->getData('weight')*1 .'Kg/ea.  Total: ' .$product->getData('weight')*$item->getQty() . 'Kg',
       'feed'  => 400
      );

谢谢,我已将文件复制到“我的本地文件夹”。我已将其复制到我想要的90%左右-但我不知道如何获取订单中的项目总数?项目总数量行?或整个订单的总数量?抱歉,我没有收到此回复的通知-我想要整个订单的项目总数量。因此,即使如果订单是A项的3倍和B项的1倍,那么总数将是4。用于在海关申报装运。是否可以在不装载物品的情况下完成此操作?能否在包装单底部共享添加装运地址的代码?谢谢
$quote = Mage::getModel('sales/quote')->load($order->getQuoteId());
$itemsCount = $quote->getItemsSummaryQty();
 $product = Mage::getModel('catalog/product')->loadByAttribute('sku', $this->getSku($item), array('weight'));

     $lines[][] = array(
       'text'  => 'Weight: '. $product->getData('weight')*1 .'Kg/ea.  Total: ' .$product->getData('weight')*$item->getQty() . 'Kg',
       'feed'  => 400
      );