Shopify Liquid:删除数组首个竖线前内容兼容双竖线场景
Shopify Liquid 兼容多竖线产品标题的处理方案
原有单竖线处理逻辑的问题在于,按分隔符拆分数组后只取了第2个元素(索引1),双竖线场景下第三段及之后的变体会被直接丢弃,用数组移位+拼接的写法就能兼容所有竖线数量的场景,代码如下:
{% assign title_segments = product.title | split: "| " %} {% assign content_segments = title_segments | shift %} {{ content_segments | join: " " }}
逻辑说明
- 第一步按固定分隔符
|(竖线+后跟空格)把完整标题拆为数组:- 单竖线标题
Brand Name | Product Name会被拆为["Brand Name", "Product Name"] - 双竖线标题
Brand Name | Product Name | Variant Large会被拆为["Brand Name", "Product Name", "Variant Large"]
- 单竖线标题
- 第二步调用
shift过滤器,直接移除数组首位的品牌名字段,剩余元素全为产品名、变体等需要保留的内容 - 第三步用空格作为连接符把剩余数组元素拼接为字符串,自动替换掉所有竖线分隔符,不会遗漏任何后缀信息
效果验证
- 单竖线场景输出:
Product Name,和原有逻辑效果完全一致 - 双竖线场景输出:
Product Name Variant Large,符合需求 - 后续如果出现三段以上竖线的标题(比如追加色号、尺寸规格等信息),该写法无需调整即可自动兼容。
内容的提问来源于stack exchange,提问作者ste1l4r1x
相关产品推荐
相关产品推荐

