求助:Shopify Flow中如何调整内部邮件订单商品图片尺寸?
解决Shopify Flow中订单商品图片尺寸调整问题
Shopify Flow的Liquid运行环境不支持主题中常用的img_url、image_url等过滤器,所以需要通过Shopify图片CDN的原生URL规则手动构造尺寸调整后的图片链接,具体有两种可行方案:
方案1:URL参数指定尺寸
直接在图片URL后追加尺寸参数,让CDN返回对应大小的图片:
{% for item in order.lineItems %} <img src="{{ item.image.url }}?width=200&height=200" /> {{ item.title}} - {{ item.sku }} - {{ item.quantity }} {% endfor %}
这种方式简单直接,适合大多数场景,参数可按需修改(比如只指定width=200来保持原图片宽高比)。
方案2:文件名嵌入尺寸(更兼容邮箱客户端)
部分邮箱客户端可能会过滤URL参数,这种情况下可以修改图片文件名,在扩展名前插入尺寸标识:
{% for item in order.lineItems %} {% assign imageUrlParts = item.image.url | split: '.' %} {% assign baseUrl = imageUrlParts | pop | join: '.' %} {% assign extension = imageUrlParts | last %} <img src="{{ baseUrl }}_200x200.{{ extension }}" /> {{ item.title}} - {{ item.sku }} - {{ item.quantity }} {% endfor %}
该方法通过拆分URL拼接新的尺寸后缀,适配性更强,返回的图片同样是CDN处理后的压缩版本,不会占用额外邮箱存储空间。
原理说明
Shopify的图片CDN支持通过这两种方式直接生成指定尺寸的图片,不需要依赖Liquid过滤器,完美适配Shopify Flow的运行环境,避免了CSS缩放导致的大文件传输问题。
内容的提问来源于stack exchange,提问作者Zack Lim
相关产品推荐
相关产品推荐

