Shopify Liquid语法错误排查:split过滤器使用问题解析
Liquid语法错误原因分析
你遇到的问题本质是Liquid过滤器的语法使用错误,核心差异在于split过滤器的调用格式:
错误代码的问题点
在你最初的代码中,这一行的语法不符合Liquid规范:
{% assign details = row | split ":" %}
Liquid中调用过滤器必须遵循变量 | 过滤器名: 参数的格式,过滤器名称和参数之间必须用冒号分隔。你这里在split和参数":"之间漏掉了冒号,导致解析器无法识别这是合法的过滤器调用,因此抛出Expected end_of_string but found string的错误。
你后来尝试移除竖线写成row split: ":",同样不符合语法——过滤器调用必须通过管道符|来连接变量和过滤器,这种写法也会触发解析错误。
正确代码的修正点
你重写后的代码中,修正了split过滤器的调用格式:
{% assign values = row | split: ":" %}
这里给split加上了冒号,完全符合Liquid过滤器的语法规则,因此代码可以正常运行。至于变量名从details改成values,这只是命名变化,不影响语法正确性,真正解决问题的是补上了split后面的冒号。
总结
使用Liquid过滤器时必须严格遵循格式:
- 变量和过滤器之间用管道符
|连接 - 过滤器名称和参数之间用冒号
:分隔
内容的提问来源于stack exchange,提问作者Orotomo
相关产品推荐
相关产品推荐

