2017-08-28 41 views
1

我有一个图像的文件夹,我想要在页面上呈现。我希望这些图像以特定方式排序/过滤。要做到这一点,我明白,图像需要首先在一个数组中。如何从forloop创建数组?

我因此与空数组开始:

{% assign my_array = "" %} 

我然后通过图像文件夹环,并尝试每个图像推入my_array不同方式。例如:

{% for image in site.static_files %} 
    {% if image.path contains "assets/images/target-folder" %} 
    <!-- Push image into array --> 
    {{ my_array | push: image }} 
    {% endif %} 
{% endfor %} 

理想的情况下,我可以使用这个数组像预期一样:

{% for image in my_array | sort:"date" | reverse %} 
    <!-- show image --> 
{% endfor %} 

我知道,我可以使与图像数据文件,但我想避免需要采取额外的步骤。谢谢阅读。

回答

5

你几乎就在那里,你如何创建数组是唯一需要解决的问题。

这个{% assign my_array = "" %}创建一个空字符串。一个简单的方法来创建液体数组是分裂以上:

{% assign my_array = "" | split: ',' %} 

现在,你可以把物品放入阵列内以下列方式循环:

{% for image in site.static_files %} 
    {% if image.path contains "assets/images/target-folder" %} 
    <!-- Push image into array --> 
    {% assign my_array = my_array | push: image %} 
    {% endif %} 
{% endfor %} 
+1

作品太好了,谢谢。我已经使用你的修补程序来稍后排序这个数组,然后循环。像这样:'{%assign sorted_my_array = my_array |反向%}'。 – dwhite