获取订单中每个产品的SKU

Get SKU of each product in an order

我有一个自定义 Shipment.php 文件,它为我提供了一个自定义装运 pdf。代码的主要变化是布局变化。产品仍然像往常一样呈现,即带有产品 sku、数量和名称以及尺寸和颜色等自定义选项。但是,我需要获取每批货物中每件产品的 SKU,以便为每件商品创建条形码。我有有效的条形码代码,但我无法检索 SKU。来自 Default.php 的代码不适用于此。条形码 php 在下方,并且已经使用 magento 的产品 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 

我有办法!我把上面的条码 PHP 放在这个 foreach loop 里面。现在为任何特定订单中的每个产品创建条形码。

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

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