我对此非常接近,但我无法正确理解语法。我已经连续几天搞乱了。基本上我有一张贺卡消息,我希望客户在结账页面(cart.liquid)上为每张贺卡填写消息,我需要为每个索引更改属性名称。因此,我将索引添加到每个属性名称,但无济于事。出于测试目的,这是一个基本输入字段:
<p class="cart-attribute__field" style="min-width:300px;">
<label for="to{{ forloop.index }}">To:</label>
<input class="checkMe" id="to{{ forloop.index }}" type="text" name="attributes[To{{ forloop.index }}]" maxlength="40" data-stk="{{item.id}}" value="{{ cart.attributes['To'+forloop.index] }}" >
</p>
它的这一部分(值=&#34; {{cart.attributes [&#39; To&#39; + forloop.index]}}&#34;)给我带来了麻烦。
答案 0 :(得分:1)
您不能在液体代码中使用'+'运算符来追加。试试这个:
{% assign cart_attr = 'To' | append: forloop.index %}
<p class="cart-attribute__field" style="min-width:300px;">
<label for="to{{ forloop.index }}">To:</label>
<input class="checkMe" id="to{{ forloop.index }}" type="text" name="attributes[To{{ forloop.index }}]" maxlength="40" data-stk="{{item.id}}" value="{{ cart.attributes[cart_attr] }}" >
</p>
注意:根据需要即兴发挥。
答案 1 :(得分:0)