2014-09-03 67 views
1

這個問題排序數組是非常接近Shopify Sort cart.items array using Liquid scriptShopify - 使用液體腳本2個標準

我有,我想按日期和時間排序無序會話(預期的結果:1,2,3,4) 。

{ 
    "date"=>"2014-06-24", 
    "time"=>"09:00", 
    "name"=>"Session 2", 
} 
{ 
    "date"=>"2014-06-25", 
    "time"=>"08:45", 
    "name"=>"Session 3", 
} 
{ 
    "date"=>"2014-06-24", 
    "time"=>"08:00", 
    "name"=>"Session 1", 
} 
{ 
    "date"=>"2014-06-25", 
    "time"=>"09:45", 
    "name"=>"Session 4", 
} 

下面的代碼:

{% assign time_sorted_instances = instances | sort: "time" %} 
{% assign day_sorted_instances = time_sorted_instances | sort: "date" %} 
{% for instance in instances %} 
    {{ instance.date | date: "%A, %B %e, %Y" }} {{ instance.time }} {{ instance.session.name }}    <br> 
{% endfor %} 
{% for instance in time_sorted_instances %} 
    {{ instance.date | date: "%A, %B %e, %Y" }} {{ instance.time }} {{ instance.session.name }}    <br> 
{% endfor %} 
{% for instance in day_sorted_instances %} 
    {{ instance.date | date: "%A, %B %e, %Y" }} {{ instance.time }} {{ instance.session.name }}    <br> 
{% endfor %} 

我能夠獲得通過日期(2,1,3,4)進行排序或者實例,或者通過時間(1,3,2,4 ),但不是一個接一個地排序(1,2,3,4)。紅寶石中的匹配函數爲:

sorted_instances = instances.sort {| i | [i.date,i.time]}

下面是液態的排序選項代碼:https://github.com/Shopify/liquid/blob/master/lib/liquid/standardfilters.rb#L112-L123

很顯然這是不可能的。如果有人有工作,請告訴我!

回答