如何在Shopify代码片段渲染器中传递带引号的变量
解决Shopify渲染代码片段时传递带引号变量的问题
直接通过Liquid的字符串处理能力,就能生成带引号的参数值传递给代码片段,无需额外的复杂操作:
方法1:使用字符串插值
{% assign image_width = block.settings.width %} {%- render 'image', img: image, width: "'#{image_width}'" -%}方法2:使用
append过滤器拼接引号{% assign image_width = block.settings.width %} {%- render 'image', img: image, width: "'" | append: image_width | append: "'" -%}
原方法无效的原因
- 直接传递变量时,数值类型的变量会以纯数值形式传入,不符合目标代码片段对带引号字符串的要求
- 使用
capture包裹引号时,若block.settings.width为数值类型,生成的字符串可能在传递过程中被Liquid自动转义,导致目标片段无法识别正确格式
内容的提问来源于stack exchange,提问作者s.kuznetsov
相关产品推荐
相关产品推荐

