【问题标题】:Shopify Liquid - Forlooping on StringsShopify Liquid - 字符串上的 Forlooping
【发布时间】:2019-05-13 05:48:24
【问题描述】:

我刚刚开始使用 shopify,遇到了第一个问题,我无法通过 shopify 文档或谷歌搜索来解决。在我看来,我的目标很简单,但给我带来了很多麻烦。就是这样。

使用液体模式,我创建了一个 text(string) 类型的变量 input,其值为 no importants。重要的是能够循环遍历input 变量,以便我可以动态查看每个字符。

尝试的变体:

{% for char in section.settings.input %} // Loop 1
    {{ char }} <-- char is never displayed -->
{% endfor %}

{% for input_idx in (0..section.settings.input.size) %} // Loop 2
    <div class="example 1">{{section.settings.input[input_idx]}}</div>
    <div class="example 2">{{section.settings.input[forloop.index]}}</div>
    <div class="example 3">{{section.settings.input | split: input_idx}}</div>
{% endfor %}

结论

到目前为止,在尝试的每个变体中,我都无法隔离字符串的字符。循环 2 允许我循环字符串的长度,但不能访问它的各个部分。

如果我的建议是不可能的,有没有办法将字符串动态拆分为数组。

好久没有发帖了,如果忘记了或者发错了请见谅。感谢您对我的任何帮助,因此任何想法都值得赞赏。

【问题讨论】:

    标签: shopify liquid shopify-template


    【解决方案1】:

    您需要在循环之前将字符串拆分并放入数组中。

    所以你只需要执行以下操作:

    {% assign text_arr = section.settings.input | split: '' %}
    

    split: '' 将拆分每个字符。然后你循环使用text_arr

    【讨论】:

    • 哦,很酷,这很容易。我仍然不习惯液化的语法我假设拆分只会在一个条件下这样做,通过一个空条件来拆分整个字符串是有意义的。
    • 我已经应用了分配并更改为生成数组的 forloop 中使用的对象,现在它可以正常工作了。 @滴水谢谢
    • @Crispy np。祝你好运!
    猜你喜欢
    • 1970-01-01
    • 2016-12-18
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    相关资源
    最近更新 更多