ListIndexerで新着記事を表示させてみるテスト
2007.01.28 Sun/PM
MODx0.9.5で標準になった「ListIndexer」なんですけど、新着記事表示に使おうと思ったら微妙に使いにくいので修正メモ。
NewsListing使ってた時はチャンクを指定する事が出来たんだけど、ListIndexerはチャンク未対応。
その代わり、クラスが付いているのでCSSで何とかしてくださいって感じなんでしょうか。
でも、チャンク使えた方がいいよねー(´・ω・`)
ソートするフィールド名の追加
デフォルトだと、「'alpha' | 'date' | 'menuindex'」しかないのですが、「editedon」(編集した日時)を追加します。
[snippet] ListIndexer:344
// Choose sort method
switch ($sortBy){
/////edit
case 'editedon':
$recentSql .= "ORDER BY editedon ";
break;
case 'alpha':
$recentSql .= "ORDER BY pagetitle ";
break;
case 'menuindex':
$recentSql .= "ORDER BY menuindex ";
break;
default:
$recentSql .= "ORDER BY IF(pub_date>0, pub_date, createdon) ";
break;
}
LIn_sort=editedon
で使用可能。
HTML部分を修正
基本リスティングはDittoを使っていて、ニュース一覧以外ではListIndexer使わなそうなのでHTML部分も直接編集してしまいます。
[+title+] [+date+] [+description+]
デフォルトでは↑な感じになっているのを。
[+date+] [+longtitle+] or [+title+]
という感じに変えたいと思います。
そしてこの続きはまたあとで書きます…。
普通に新着記事一覧専用のスニペット作った方がいいのかな。
オフィシャルにもListIndexerの情報全然載ってないし。
