Home » ラボ&備忘録 » MODx » memo » ListIndexerで新着記事を・・・ このエントリーを含むはてなブックマーク

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の情報全然載ってないし。