Число приращения и оператор if для той же функции в Liquid - PullRequest
0 голосов
/ 26 мая 2020

У меня есть форма на моем веб-сайте, где пользователь динамически добавляет поля. Я создал одну и ту же функцию 100 раз, но изменил только увеличивающееся число, как вы можете видеть ниже. Мне нужно создать al oop для увеличивающегося числа, но также оставить оператор if на случай, если поле пустое.

Вот мой код Liquid:

{% if data.sku0 != null %} <tr bgcolor="#ffffff"><th><a href="http://{{data.host}}/ProductDetails.asp?ProductCode={{data.sku0}}" style="font-size:12px;"><img src="http://{{data.host}}/v/vspfiles/photos/{{data.sku0}}-2s.jpg" width="50px" height="50px"></a></th><td>{{data.0qty}} x {{data.sku0}} - {{data.0item}} - {{data.0price}} each</td></tr>{% endif %}

{% if data.sku1 != null %} <tr bgcolor="#ffffff"><th><a href="http://{{data.host}}/ProductDetails.asp?ProductCode={{data.sku1}}" style="font-size:12px;"><img src="http://{{data.host}}/v/vspfiles/photos/{{data.sku1}}-2s.jpg" width="50px" height="50px"></a></th><td>{{data.1qty}} x {{data.sku1}} - {{data.1item}} - {{data.1price}} each</td></tr>{% endif %}

{% if data.sku2 != null %} <tr bgcolor="#ffffff"><th><a href="http://{{data.host}}/ProductDetails.asp?ProductCode={{data.sku2}}" style="font-size:12px;"><img src="http://{{data.host}}/v/vspfiles/photos/{{data.sku2}}-2s.jpg" width="50px" height="50px"></a></th><td>{{data.2qty}} x {{data.sku2}} - {{data.2item}} - {{data.2price}} each</td></tr>{% endif %}

// and so on... up to 100 (I need it to increase for as long as its needed, not limited to 100).
// notice that I have a increasing number for a few elements such as {{sku}}, {{name}}, {{item}}, etc...

1 Ответ

0 голосов
/ 28 мая 2020

Не уверен, чего вы пытаетесь достичь, но что-то вроде этого может сработать (не проверено):

{% for i in (0..100) %}
  {%- capture sku_index -%}sku{{ forloop.index }}{%- endcapture -%}
  {% unless data[sku_index] == blank %}
    Your stuff
  {% else %}
    {% continue %}
  {% endunless %}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...