云打印机模板变量详细说明

0.192字数 503阅读 235

在系统参数设置 order_print_trigger_templete 中的打印内容模板,可使用下面的变量,具体说明如下:

语法

模板采用 freemarker 引擎解析,所以原生支持所有的 freemarker 语法,你可以自行百度一下 freemarker 语法的简单使用,包括如何判断、如何循环、如何格式化处理数据等等

标签支持

打印机使用标签(类似 html 格式)来格式化输出内容,具体说明如下:

<BR> :换行符
<CUT> :切刀指令(主动切纸,仅限切刀打印机使用才有效果) 
<LOGO> :打印LOGO指令(前提是预先在机器内置LOGO图片)
<PLUGIN> :钱箱或者外置音响指令
<CB></CB>:居中放大
<B></B>:放大一倍
<C></C>:居中
<L></L>:字体变高一倍
<W></W>:字体变宽一倍
<QR></QR>:二维码(单个订单,最多只能打印一个二维码)
<RIGHT></RIGHT>:右对齐
<BOLD></BOLD>:字体加粗

参考模板

<CB>${order.id} 号</CB><BR>
<RIGHT>${.now?datetime}</RIGHT><BR>
名称                数量 金额<BR>
--------------------------------<BR>
<#list goods as test>
${test.goodsName} ${test.property!""}   ${test.number}  ${test.amount}
</#list>
--------------------------------<BR>
合计:${order.amountReal}元<BR>
订单号:${order.orderNumber}<BR>
联系电话:0571-28180512<BR>
<QR>https://www.it120.cc/</QR>

可用变量

打印时间

${.now?datetime}

?datetime 为文本格式化,当前格式化内容会输出 yyyy-MM-dd HH:mm:ss 的格式;

${.now?date} 格式化内容会输出 日期 的格式,不显示时间;

${.now?time} 格式化内容会输出 时间 的格式,不显示日期;

${.now?string("HH:mm")} 格式化内容会输出 几点几分 的格式;

具体可以查阅 freemarker 的使用手册

订单相关变量引用

${order.XXXXX}

后台订单详情接口返回的json数据中的 order 对象里的值都可以调用,比如:
${order.qudanhao} 将会打印出取餐号;

${order.orderNumber} 将会打印出订单号;

${order.amountReal} 将会打印出订单实际支付金额;

订单的商品明细

<#list goods as test>
...  (这里面就可以调用 ${test.XXXX} 来显示商品数据)
</#list>

上面代码遍历打印所有的订单商品,后台订单详情接口返回的json数据中的 goodsList 对象里的值都可以调用

收货地址

${logistics.XXXXXX}

后台订单详情接口返回的json数据中的 apiExtOrderLogistics 对象里的值都可以调用

所属门店数据

${shopInfo.XXXXXX}

如果当前订单有归属门店,那么你就可以调用上面的变量直接打印门店数据;
后台门店详情接口返回的json数据中变量都可以调用

订单扩展属性

${extJson.XXXXXX} 

后台订单详情接口返回的json数据中的 extJson 对象里的值都可以调用

推荐阅读更多精彩内容