Объект forloop
имеет несколько вспомогательных методов, в том числе для подсчета текущей итерации цикла:
forloop.index
, который считает итерацию цикла, начиная с 1 forloop.index0
, который считает итерацию цикла, начиная с 0
В вашем примере вы изменили бы свой код, чтобы использовать соответствующий метод вместо {{i}}
;т.е.:
<img src="https://billiger.de/sale?shop_id=Acaraa&oid={{ order.order_number }}
{% for line_item in order.line_items %}
&aid_{{forloop.index}}={{ line_item.product_id }}&name_{{forloop.index}}={{ line_item.product.title }}&cnt_{{forloop.index}}={{ line_item.quantity }}&val_{{forloop.index}}={{ line_item.product.price | divided_by: 1.19 | times: line_item.quantity | money_without_currency}}
{% endfor %}
" width="1" height="1" border="0" alt="" />
Я предполагаю, что вы хотите начать отсчет итераций здесь с 1
, но просто используйте forloop.index0
, если вы хотите начать с 0
.
Вот документация для forloop.index
для официальной библиотеки Shopify Liquid (в Ruby).
Поскольку вы отметили свой вопрос как PHP, может показаться, что вы используете php-liquid порт библиотеки - он отображается в списке Shopify Liquid портов .
Этот порт, похоже, не имеет подробной документации, но если вы посмотрите на модульные тесты вы увидите, что эти помощники forloop были реализованы.
Надеюсь, это поможет:)