如何在Odoo POS收据中添加二维码图像
How to add QR code image in Odoo's POS receipt
我正在尝试将 QR 图像添加到 POS 的收据中。我在正常发票中使用的代码如下:
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', o.qr_code_string, 150, 150)"/>
对于收据,我将字符串导出为 receipt.qr_string 并将以下行添加到收据的继承 XML 文件中:
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', receipt.qr_string, 150, 150)"/>
但是图像看起来像坏了link。我该如何实现?
我不知道为什么它不适用于 POS 收据,但让我告诉你,POS 是可以 运行 无需连接到服务器的系统。它执行的所有内容都应该始终使用 js,我的意思是始终在客户端。所以,我的解决方案是使用 QRrcode.js 库,因为它很容易获得 here.
将此库文件添加到路径 /<your_module/static/src/lib/
文件夹中的模块以及如下所示的 pos 后端,并且该文件需要添加到清单中以及 "data" 文件列表下。
<odoo>
<data>
<template id="assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/<module_name>/static/src/lib/qrcode.js"></script>
</xpath>
</template>
</data>
</odoo>
妥善处理路径。
然后您可以在任何 POS 收据 Qweb 中使用该库来打印二维码。
<div t-attf-id="#{receipt.qr_string}"></div>
<script type="text/javascript">
var lot_name = "<t t-esc="receipt.qr_string"/>";
var qrcode = new QRCode(receipt.qr_string , {
text: "http://jindo.dev.naver.com/collie",
width: 100,
height: 100,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
});
qrcode.makeCode(receipt.qr_string);
</script>
我正在尝试将 QR 图像添加到 POS 的收据中。我在正常发票中使用的代码如下:
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', o.qr_code_string, 150, 150)"/>
对于收据,我将字符串导出为 receipt.qr_string 并将以下行添加到收据的继承 XML 文件中:
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', receipt.qr_string, 150, 150)"/>
但是图像看起来像坏了link。我该如何实现?
我不知道为什么它不适用于 POS 收据,但让我告诉你,POS 是可以 运行 无需连接到服务器的系统。它执行的所有内容都应该始终使用 js,我的意思是始终在客户端。所以,我的解决方案是使用 QRrcode.js 库,因为它很容易获得 here.
将此库文件添加到路径 /<your_module/static/src/lib/
文件夹中的模块以及如下所示的 pos 后端,并且该文件需要添加到清单中以及 "data" 文件列表下。
<odoo>
<data>
<template id="assets" inherit_id="point_of_sale.assets">
<xpath expr="." position="inside">
<script type="text/javascript" src="/<module_name>/static/src/lib/qrcode.js"></script>
</xpath>
</template>
</data>
</odoo>
妥善处理路径。
然后您可以在任何 POS 收据 Qweb 中使用该库来打印二维码。
<div t-attf-id="#{receipt.qr_string}"></div>
<script type="text/javascript">
var lot_name = "<t t-esc="receipt.qr_string"/>";
var qrcode = new QRCode(receipt.qr_string , {
text: "http://jindo.dev.naver.com/collie",
width: 100,
height: 100,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRCode.CorrectLevel.H
});
qrcode.makeCode(receipt.qr_string);
</script>