Shopify邮件模板IF语句异常:仅返回ELSE段内容求助
问题诊断与修复
你的代码核心错误是**else语法使用错误**——Liquid 中else是用来匹配所有不符合前面if/elsif条件的剩余情况,不能在else后面添加任何条件表达式。你最后一行把本该是elsif的分支写成了else,导致 Liquid 直接忽略后面的条件,无条件执行else块里的内容,这就是为什么无论元字段值是什么,都只会返回这部分文本。
修正后的代码
{% if order.metafields.custom.delivery_vehicle_type == 'Third-party Courier' %} TEXT for courier {% elsif order.metafields.custom.delivery_vehicle_type == 'Rigid Crane' %} TEXT for RIGID CRANE {% elsif order.metafields.custom.delivery_vehicle_type == 'Articulated Lorry (w/forklift)' %} TEXT for MOFFET {% elsif order.metafields.custom.delivery_vehicle_type == 'Articulated Lorry (w/Crane)' %} TEXT for ARTIC CRANE {% else %} <!-- 可选:处理元字段值为空或未匹配到的情况 --> 默认文本 {% endif %}
额外验证建议
如果修正后仍有问题,可以在模板中临时添加一行代码输出元字段的原始值,确认和你判断的字符串完全一致(注意大小写、空格、特殊符号的细微差异):
{{ order.metafields.custom.delivery_vehicle_type }}
内容的提问来源于stack exchange,提问作者BebopVox
相关产品推荐
相关产品推荐

