【问题标题】:Magento how to create shipping label dynamicallyMagento 如何动态创建运输标签
【发布时间】:2013-05-04 03:46:44
【问题描述】:

下单后我需要generate shipping label dynamically

我已配置 fedex 运输方式,并且在下订单后将订单状态设置为运输,并且管理员可以手动创建运输标签,并且当我单击打印运输标签时它会提供 pdf创建运输标签后。

现在这个过程需要自动化 - 我如何能够动态地创建 hipping 标签? 是否有任何观察者或类覆盖示例。请帮我动态创建发货标签

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

    如果您想要带有条形码的官方运输标签,您需要购买类似这样的扩展: http://www.cobbconsulting.net/magento-fedex-extension.html

    该扩展程序具有 cahcing 功能,它将存储您的所有运输标签,以便您随时轻松地重新打印它们。

    【讨论】:

      【解决方案2】:

      众所周知,您只有在有发票的情况下才能打印运输标签。我们想让您知道扩展可以帮助您解决问题。或者您可以查看我们的创建代码

      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;
              }}
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-23
        • 1970-01-01
        • 2021-06-09
        • 1970-01-01
        相关资源
        最近更新 更多