在液体中创建一个简单的数组
Create a simple array in liquid
我需要根据产品的数量制作一个产品的关联数组。我如何将这一衬里从 php 转换为液体
foreach(items as item) $product[$item.product_id] += $item.quantity
我想到的最好的是这个
{% for item in cart.items %}
{% assign product[item.product_id] = 0 | plus product[item.product_id] | plus item.quantity %}
{% endfor %}
您不能像其他语言一样在 liquid 中创建数组。创建数组的唯一方法是在拆分字符串之后。
因此您不能使用 product[item.product_id]
.
创建数组项
您首先需要生成一个字符串,然后通过拆分该字符串来创建数组。
{%- capture items -%}
{%- for line_item in cart.items -%}
{{- line_item.product_id -}}|{{-line_item.quantity-}},
{%- endfor -%}
{%- endcapture -%}
{% assign items_array = items | split: ',' %}
这就是我们捕获输出并将其拆分以创建数组的原因。
我需要根据产品的数量制作一个产品的关联数组。我如何将这一衬里从 php 转换为液体
foreach(items as item) $product[$item.product_id] += $item.quantity
我想到的最好的是这个
{% for item in cart.items %}
{% assign product[item.product_id] = 0 | plus product[item.product_id] | plus item.quantity %}
{% endfor %}
您不能像其他语言一样在 liquid 中创建数组。创建数组的唯一方法是在拆分字符串之后。
因此您不能使用 product[item.product_id]
.
您首先需要生成一个字符串,然后通过拆分该字符串来创建数组。
{%- capture items -%}
{%- for line_item in cart.items -%}
{{- line_item.product_id -}}|{{-line_item.quantity-}},
{%- endfor -%}
{%- endcapture -%}
{% assign items_array = items | split: ',' %}
这就是我们捕获输出并将其拆分以创建数组的原因。