Kentico 13发送邮件的Liquid模板变量识别问题求助
解决Kentico邮件中变量显示为纯文本的问题
问题原因
你在Kentico宏中嵌套了Handlebars风格的{{ }}语法,但Kentico的宏引擎仅识别自身的{% %}宏标记,不会解析{{ }},因此变量被当作纯文本输出。
解决方案
将{{ }}替换为Kentico原生宏语法,直接在宏中引用变量,有两种可行写法:
写法1:拆分宏逻辑与文本内容
{% if (Order.OrderStatus.StatusName == "Shipped") { %} Order Update Your Order Your shipment is on its way! Here's your tracking number: {% Order.CustomData.m_c_orderShippingForm_OrderTrackingNumber_txtText #%} {% } |(encode)false #%}
写法2:字符串拼接模式
{% if (Order.OrderStatus.StatusName == "Shipped") { "Order Update\nYour Order\nYour shipment is on its way! Here's your tracking number: " + Order.CustomData.m_c_orderShippingForm_OrderTrackingNumber_txtText } |(encode)false #%}
额外注意事项
- 确认
Order.CustomData.m_c_orderShippingForm_OrderTrackingNumber_txtText的字段名称完全正确,包括大小写和下划线格式 - 若跟踪号可能为空,建议添加空值判断避免显示异常:
{% Order.CustomData.m_c_orderShippingForm_OrderTrackingNumber_txtText ?? "暂无跟踪号" #%} - 检查邮件模板的配置,确保已开启宏解析功能
内容的提问来源于stack exchange,提问作者kenticofurious
相关产品推荐
相关产品推荐

