Shopify中如何移除append过滤器添加的末尾' /'字符?
移除Shopify政策列表末尾多余的' /'
你当前的写法是给每个政策标题都追加' /',再尝试用remove_last: '/'移除单个标题后的斜杠,这只会把每个项的末尾变成空格,没法解决最后一项多余分隔符的问题。
解决这个问题最直接的方式是利用Shopify Liquid循环的forloop.last变量,只在非最后一项的标题后添加分隔符:
<ul class="list list-policies"> {%- for policy in shop.policies %} <a href="{{ policy.url }}" rel="noopener noreferrer" class="text-xs tracking-tighter uppercase font-bold" title="{{ policy.title }}" > {{ policy.title }}{% unless forloop.last %} / {% endunless %} </a> {%- endfor %} </ul>
原理说明
{% unless forloop.last %} 等价于 {% if not forloop.last %},意思是:只要当前循环的项不是最后一个,就在标题后追加' /'分隔符;最后一项则不添加,自然就不会有末尾多余的分隔符了。
如果你想更简洁地处理纯文本的政策列表(不带链接的场景),也可以用map+join过滤器组合:
{% assign policy_titles = shop.policies | map: 'title' %} {{ policy_titles | join: ' / ' }}
但因为你的需求是每个政策都是独立链接,所以第一种循环判断的写法更适配你的场景。
内容的提问来源于stack exchange,提问作者ByGio1
相关产品推荐
相关产品推荐

