2017-08-28 83 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