generate shipping label dynamically
下订单后我需要。
我已经配置了联邦快递运输方式,并且在下订单后可以很好地将订单状态设置为运输,并且管理员可以手动创建运输标签,并且当我在创建运输标签后单击打印运输标签时,它会提供 pdf。
现在这个过程需要自动化——我如何能够动态地创建臀部标签?是否有任何观察者或类覆盖示例。请帮我动态创建运输标签
generate shipping label dynamically
下订单后我需要。
我已经配置了联邦快递运输方式,并且在下订单后可以很好地将订单状态设置为运输,并且管理员可以手动创建运输标签,并且当我在创建运输标签后单击打印运输标签时,它会提供 pdf。
现在这个过程需要自动化——我如何能够动态地创建臀部标签?是否有任何观察者或类覆盖示例。请帮我动态创建运输标签
如果您想要带有条形码的官方运输标签,您需要购买这样的扩展:http: //www.cobbconsulting.net/magento-fedex-extension.html
该扩展程序具有缓存功能,它将存储您的所有运输标签,因此您可以随时轻松地重新打印它们。
众所周知,您只有在有发票时才能打印运输标签。我们想让您知道扩展可以帮助您解决问题。或者您可以查看我们的创建代码
Magento 1:http ://www.mlx-store.com/magento-extensions/shipping/print-shipping-label.html
Magento 2:http ://www.mlx-store.com/magento2-extensions/shipping/print-shipping-label-for-magento-2.html
或使用代码
下面是控制器。
public function printShippingLabelAction(){
$ids= $this->getRequest()->getPost('order_ids');
if (!empty($invoicesIds)) {
$orders = Mage::getResourceModel('sales/order')->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('entity_id', array('in' => $ids))
->load();
if (!isset($pdf)){
$pdf = Mage::getModel('sales/order_pdf_order')->getPdf($orders );
} else {
$pages = Mage::getModel('sales/order_pdf_order')->getPdf($orders );
$pdf->pages = array_merge ($pdf->pages, $pages->pages);
}
return $this->_prepareDownloadResponse('order'.Mage::getSingleton('core/date')->date('Y-m-d_H-i-s').
'.pdf', $pdf->render(), 'application/pdf');
}
$this->_redirect('*/*/');
}
创建模型
class Mage_Sales_Model_Order_Pdf_Order extends Mage_Sales_Model_Order_Pdf_Invoice
{
public function getPdf($orders = array())
{
$this->_beforeGetPdf();
$this->_initRenderer('order');
$pdf = new Zend_Pdf();
$this->_setPdf($pdf);
$style = new Zend_Pdf_Style();
$this->_setFontBold($style, 10);
foreach ($orders as $order) {
$page = $this->newPage();
$this->insertLogo($page, $order->getStore());
$this->insertAddress($page, $order->getStore());
$this->insertOrder(
$page,
$order,
Mage::getStoreConfigFlag(self::XML_PATH_SALES_PDF_INVOICE_PUT_ORDER_ID, $order->getStoreId())
);
$this->insertDocumentNumber(
$page,
Mage::helper('sales')->__('Order # ') . $order->getIncrementId()
);
$this->_drawHeader($page);
foreach ($order->getAllItems() as $item){
if ($item->getOrderItem()->getParentItem()) {
continue;
}
$this->_drawItem($item, $page, $order);
$page = end($pdf->pages);
}
$this->insertTotals($page, $order);
if ($order->getStoreId()) {
Mage::app()->getLocale()->revert();
}
}
$this->_afterGetPdf();
return $pdf;
}}