September 14, 2007

Posts Order

其實我還蠻常修改文章的,可能會加一些後記,或者做一些修改。這時候就會覺得,如果文章可以照最新修改的時間排序,應該也會不錯的。

進去trace neo.js之後,就可以發現feed的地方其實是可以設定排序依據的。
feedurl = blogurl + 'feeds/posts/default?orderby=published&start-index=' + startIndex + '&max-results=' + numPosts + '&alt=json-in-script&callback=updateLabelPosts';如上面的藍色部份就是設定依照published做排序。

所以我們就可以大膽假設,是否也可以照updated做排序呢?一試之後,果然可以。所以就可以來進行改造工程啦。

首先要設定一個變數,拿來設定這個部份的參數。
feedurl = blogurl + 'feeds/posts/default?orderby='+PostOrder+'&start-index=' + startIndex + '&max-results=' + numPosts + '&alt=json-in-script&callback=updateLabelPosts';很簡單,就把藍色部份換成紅色部份就好啦。整份js一樣的地方都要這樣改,別忘了唷。

記得要在開頭的地方增加一個全域變數叫做var PostOrder='updated';這邊先給他一個初始值。然後我們就可以先測看看了。

如果您只是想把他改成可以用變數設定的話,到這邊就可以了。

如果您跟我一樣,有還不夠好,還要作成可以動態切換的話,就在繼續往下看下去。

接下來就是要寫一個切換的function囉。
照這個貼上去基本上就完成一半了,接下來還得要在template裡面再放上一個id為order的tag,大概就像下面這樣

這樣就可以啦。很簡單吧。其他一些細微修改,應該都不難做到的啦。

Good Luck, and Enjoy~

6 Comments:

Davin Chao said...

有看沒有懂!
是要進去範本裡改程式碼?
還是要去改NEO.js啊?
另外請較大大一下,
如果我要把最新文章的數量,
從我目前的六筆改成10筆,
是要去改NEO.js裡的哪個部份?
煩請賜教!

Unknown said...

您好,如果是對這篇文章有看不懂的地方,還麻煩具體指出來,否則我也不太了解您是哪邊看不懂的,這樣。至於到底是要改範本(template)還是要改neo.js我應該都有寫在文章裡面了才對。
另外,關於改文章數量這點,我記得在阿倫校長的blog上面看過好幾次了,所以我就不在這邊贅述,麻煩到他那邊去爬一爬,您一定會大有收穫的。
感謝您的回應。 :)

Davin Chao said...

拍謝!
最新文章數量部份,我已改好。
至於"Posts Order"的部份,
我更改了NEO.js,並重新上傳後...
照理說是不是應該會在"最新文章"部份,
顯現我剛剛更新過的文章-->
http://davinchao.blogspot.com/2007/07/maroon-5-sunday-morning_3378.html
不知這樣的推論是否正確,還請您指教!
謝謝!

Unknown said...

您好,我稍微幫您看了一下neo.js,關於第一個步驟,就是改成紅色'+PostOrder+'的部份您在233、250、253的地方沒有改到。這邊都一併改了應該就會正常了。

Davin Chao said...

感謝Water大大,我終於改好了!
感恩咧!
老人家眼著手笨,希望沒造成您的困擾!

Unknown said...

別客氣呀~ :) 只是舉手之勞罷了。
可以自己改改程式做些hack,其實也是很有成就感的。
Enjoy~