Как добавить итерации к этой жидкости для цикла

Как я добавляю числа, повторяющие этот цикл for, вместо {{i}} Обратите внимание, что этот цикл не имеет определенного ограничения, поскольку он получит все заказанные элементы независимо от их количества.

<img src = "https://billiger.de/sale?shop_id=Acaraa&oid = {{ order.order_number }}

{% for line_item in order.line_items %}
&aid_{{i}} = {{ line_item.product_id }}&name_{{i}} = {{ line_item.product.title }}&cnt_{{i}} = {{ line_item.quantity }}&val_{{i}} = {{ line_item.product.price | divided_by: 1.19  | times: line_item.quantity | money_without_currency}}
{% endfor %}

" width = "1" height = "1" border = "0" alt = "" />

Итак, петля должна выглядеть так

&aid_1=ARTICLE-ID-1&name_1=ARTICLE-NAME-1&cnt_1=ARTICLE-COUNT-1&val_1=ARTICLE-VALUE-1
&aid_2=ARTICLE-ID-2&name_2=ARTICLE-NAME-2&cnt_2=ARTICLE-COUNT-2&val_2=ARTICLE-VALUE-2
&aid_3=ARTICLE-ID-3&name_3=ARTICLE-NAME-3&cnt_3=ARTICLE-COUNT-3&val_3=ARTICLE-VALUE-3

PS: приведенный выше код будет использоваться в файле шаблона shopify

Спасибо

Я предполагаю, что это PHP-порт библиотеки шаблонов Shopify Liquid для Ruby? Если это так, то, если порт завершен, я предполагаю, что он должен иметь forloop.index (или его сопутствующий компонент с нулевым индексом index0).

Darragh Enright 18.12.2018 17:19

Я не буду публиковать ответ, потому что я предполагаю, что вы используете портированную библиотеку, но я не знаю, какая из них, как пара, подошла для меня в Google. Можете дать ссылку на библиотеку?

Darragh Enright 18.12.2018 17:20

@DarraghEnright Мне очень жаль, что я не упомянул в своем вопросе, что мой вопрос связан с жидким файлом шаблона Shopify

arabtornado 18.12.2018 17:23

Нет проблем, но вы ведь используете порт PHP? Это оно?

Darragh Enright 18.12.2018 17:47
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
4
1 113
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У объекта 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 для официальной библиотеки Liquid Shopify (на Ruby).

Поскольку вы отметили свой вопрос как PHP, похоже, что вы используете порт библиотеки php-жидкость - он отображается в списке Shopify Жидкие порты.

Кажется, что этот порт не имеет какой-либо подробной документации, но если вы посмотрите на модульные тесты, вы увидите, что эти помощники forloop были реализованы.

Надеюсь это поможет :)

Ой! Исправлена ​​опечатка в коде - я написал foreach.index, когда хотел написать forloop.index. Исправлено :)

Darragh Enright 18.12.2018 18:01

Большое спасибо за ответ, у меня он отлично сработал :)

arabtornado 18.12.2018 18:01

С удовольствием, рад, что помог :)

Darragh Enright 18.12.2018 18:02

Другие вопросы по теме