我今天花了試圖爲http://bitcoin.org/clients.html傑基爾隨機排序集合
我們的Bitcoin軟件的列表,做一些簡單的與傑基爾,並每隔一段時間,該頁面被再生。如果客戶的訂單會被隨機分配以獲得同等的曝光,那將是一件好事。
{% random page.clients %}
{% for client in page.clients %}
...
我敢肯定,這很簡單:
class Random < Liquid::Tag
def initialize(tag_name, collection_name, tokens)
@collection_name = collection_name.to_s
super
end
def render(context)
collection = context[@collection_name]
collection = collection.sort_by{rand}
context[@collection_name] = collection
super
end
end
Liquid::Template.register_tag('random', Random)
爲什麼它不工作?我看到絕對沒有變化。
我以爲我不分配給正確page.clients,因爲如果我嘗試:
context[:foo] = collection
{% random page.clients %}
{% for client in page.clients %}
...
然後我得到一個空白頁。但打印@collection_name顯示「page.clients」...
任何想法?
感謝