我一直在尝试使用变量迭代节的输出,但是我找不到通过串联索引动态输出液体对象的方法。 images[i]
是我在{% schema %}
部分中设置的图像的ID。
{% for i in (1 .. 5) %}
{% if section.settings.images[i] != blank %}
{{ section.settings.image[i] }}
{% endif %}
{% endfor %}
答案 0 :(得分:1)
你快到了。
您需要分配句柄/ id,因为目前images[i]
指向不正确的图像数组。
代码应如下所示:
{% for i in (1 .. 5) %}
{% assign image_handle = 'images' | append: i %}
{% if section.settings[image_handle] != blank %}
{{ section.settings[image_handle] }}
{% endif %}
{% endfor %}
假设您的图片ID被称为images1
,images2
,images3
等。
PS:
我不确定您的完整代码,但是如果您有一个节,并且您没有使用其块,为什么不使用它们而不是预定义的节字段呢?
{%- for block in section.blocks -%}
{%- if block.settings.image != blank -%}
{{ block.settings.image | img_url: '600x' | img_tag }}
{%- endif -%}
{%- endfor -%}
{% schema %}
{
"name": "Images",
"max_blocks": 5,
"blocks": [
{
"type": "image",
"name": "Image",
"settings": [
{
"type": "image_picker",
"id": "image",
"label": "Image"
}
]
}
]
}
{% endschema %}
答案 1 :(得分:0)
我想要这个代码,非常感谢...
这是我的示例代码。
{% for i in (1..10) %}
{% assign display_brand = 'display_brand_' | append: i %}
{% assign image_handle = 'image_' | append: i %}
{% assign link_handle = 'link_' | append: i %}
{% if block.settings[display_brand] %}
<div class="brand-item">
<div class="brand-top">
{% if block.settings[image_handle] != blank %}
<img src="{{ block.settings[image_handle] | img_url: '350x' }}" alt="" />
{% else %}
<div class="not_img">
350 x 375px
</div>
{% endif %}
</div>
<a href="{{block.settings[link_handle]}}" class="btn">{% render 'multilang' with block.settings.itembuttontext %}</a>
</div>
{% endif %}
{% endfor %}