获取订单中每个产品的SKU

时间:2018-10-02 13:42:28

标签: php pdf magento-1.9

我有一个自定义Shipment.php文件,该文件为我提供了自定义货件pdf。代码的主要更改是布局更改。产品仍然照常渲染,即带有产品sku,数量和名称以及自定义选项(例如大小和颜色)。但是,我需要获取每个货件中每个产品的SKU,以便为每个项目创建条形码。我有适用于条形码的代码,但无法检索SKU。 Default.php中的代码对此无效。条形码php在下面,并已通过magento的产品SKU示例进行了测试。我只需要自动获取货件中的所有SKU,并为每个SKU创建条形码

条形码php:

//SKU Barcode
$sku = msj013;
$newSku = strtoupper($sku);
$barcodeConfig = array(
   'drawText' => false,
   'text' => $newSku
);
$rendererConfig = array(
   'verticalPosition' => 'middle',
   'moduleSize' => 0.5
);
            // create dummy Zend_Pdf object, which just stores the current page, so that we can pass it in
            // Zend_Barcode_Renderer_Pdf->setResource()
            $pdf = new Zend_Pdf();
            $pdf->pages[] = $page;
            // @var $renderer Zend_Barcode_Renderer_Pdf 
            $renderer = Zend_Barcode::factory('code39', 'pdf', $barcodeConfig, $rendererConfig)->setResource($pdf, 0);
            // calculate left offset so that barcode is printed on the right with a little margin
            //$leftOffset = $page->getWidth() - $renderer->getBarcode()->getWidth(true) * $renderer->getModuleSize() - 10;
            //$renderer->setLeftOffset($leftOffset);
            $renderer->draw();
            //End SKU Barcode 

1 个答案:

答案 0 :(得分:0)

我有解决办法!我将上述条形码PHP放在了foreach loop中。现在为任何特定订单内的每个产品创建一个条形码。

foreach($shipment->getAllItems() as $item){
    $sku = $item->getSku();
    /*Barcode PHP here*/
}

这允许您按照打印票据的顺序,将条形码插入每个产品的自定义装箱单PDF模块中!