如何在Magento电子邮件模板中获取条形码

时间:2013-02-21 01:50:34

标签: magento barcode

我的运输流程涉及在UPS中输入订单号作为ShipWorks + UPS集成的一部分。是否有任何实际有效的条形码扩展?我尝试过使用CSS表格样式,但那些从未出现在电子邮件中。

1 个答案:

答案 0 :(得分:4)

我在寻找最近的所有其他问题时,在网上搜索时发现了这一点。

Zend有一个内置的条形码生成类Zend_Barcode。然后谷歌搜索php图像输出,我把这个上传到var/export/_barcode.php的小脚本放在一起:

<?php
require_once '../../app/Mage.php';
umask(0);
Mage::app();
Mage::app()->loadArea(Mage_Core_Model_App_Area::AREA_FRONTEND);
if( isset($_GET['ord']) && strlen($_GET['ord']) > 5 ) {
    header('Content-Type: image/jpeg');
    $barcodeOptions = array('text' => $_GET['ord']); 
    $rendererOptions = array(); 
    // Draw the barcode in a new image, 
    $imageResource = Zend_Barcode::draw( 
        'code39', 'image', $barcodeOptions, $rendererOptions 
    ); 
    imagejpeg($imageResource);

} else { echo "<pre><b>Error:</b> required input not found\n"; }
?>

如果您使用标准GET访问此脚本的URL,您将获得可扫描的条形码。所以把它放在你的交易电子邮件模板中:

<img src="http://yourmagentowebsite.com/var/export/_barcode.php?ord={{var order.increment_id}}" 
    alt="{{var order.increment_id}}" 
    style="margin-bottom:10px;" 
    border="0"/>

这很简单,而且很简单。当与Magemagician_Adminorderemail结合使用时,您可以使内部用于处理订单的模板比您发送给客户的默认订单通知更紧凑和有用。

由于我们的发票是简单的数字,code39是可以的。如果你试图发送空格或小写字母要小心,因为代码3的9非常严格。我没有在Zend_Barcode课程中研究其他选项。