gpt4 book ai didi

shopify - If 语句包含和小写在液体中

转载 作者:行者123 更新时间:2023-12-04 01:53:19 27 4
gpt4 key购买 nike

我正在尝试使用 downcase内部 if声明,同时使用 contains标准。我不敢相信没有一个支持 Google 的解决方案。

这是我迄今为止尝试过的:

{% if collection.tags | downcase contains "womens" %}
{% if {{collection.tags | downcase}} contains "womens" %}
{% if {{collection.tags}} | downcase contains "womens" %}

如果可能的话,我不想循环数组并将小写的字符串分配回新数组,只是为了保持清洁和高效。

最佳答案

您不能在 if 中操作值Liquid 中的语句 - 您需要将小写的值分配给一个变量,然后使用它。

所以在你的情况下,类似于:

{% assign collection_tags = collection.tags | join: '~~~' | downcase | split: '~~~' %}
{% if collection_tags contains 'womens' %}

笔记:
downcase是字符串操作,不是数组操作,所以上面的代码使用了 join将数组转换为带有一些不应该出现在任何标签中的分隔符的单个长字符串,然后 split - 在更改大小写后使用相同的分隔符将该字符串返回到数组中。

如果我们只使用 downcase在数组本身上,Shopify 将使用空字符串隐式加入数组,而您的 contains然后语句将查找子字符串 womens在生成的 blob 中。相比之下,当使用 contains 时在数组上,Shopify 只会匹配与您的搜索词完全匹配的标签。

举例说明,如果您的收藏标签是 ['Not-For-Women','Stuff'] , downcase - 直接输入数组会给你字符串 'not-for-womenstuff' ,它恰好包含子字符串 'womens' 并且会是一个意外的误报。

关于shopify - If 语句包含和小写在液体中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51977204/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com