こんにちは、なかわけです。
ひさしぶりにMTを使いました、仕事で。
それで気付いたことをメモ。
2010年1月15日15時に 「2について」という記事を書き、
後から2010年1月15日16時に 「1について」という記事を書きました。
テンプレートには、
<MTEntries sort_by="created_on" sort_order="ascend">
と記述してありました。作成日で昇順、つまり新しい記事ほど下。
なのでブログには以下の順番で表示されます。
- 2について
- 1について
これだと、「2について」がページの先に来てしまって気持ち悪いので、
「1について」の公開日を修正して順番を入れ換えようとしました。こんな風に。
2010年1月15日15時 「2について」
2010年1月14日16時に 「1について」
管理ページの記事一覧の作成カラムではちゃんと日付が変わっていて、順番も変わっていました。
ところがパブリッシュされたhtmlでは順番が変わりませんでした。
どうやらsort_by=”created_on”は本当に記事が作られた日のことを指しているようです。
ヘルプを見たところ、公開日でソートする設定値はありませんでした。あっても良さそうなのに。
こういう場合はカスタムフィールドを追加して対応するのでしょうかね。
しかしそれだと記事を追加するごとに値を入れていかなくちゃいけなくてめんどくさい気もします。
Tags: created_on, Movable Type, sort_by
以前、公開日で順番が変更できた気がしてて、勘違いかなーと思ってたけど、勘違いじゃなかったようです。
以前のバージョンではできてました。
http://www.h-fj.com/blog/archives/2007/06/18-105720.php
http://oshiete1.watch.impress.co.jp/qa4665209.html
sort_byのモディファイアには何も指定しないが正解のようです。
後輩が教えてくれた情報でした・・・。
ボクの対応法は以下のとおり。
テンプレートに
<mt:Entries sort_by=”title” sort_order=”ascend” remove_html=”1″>
ッて書いておきます。
ブログ記事の方ではタイトルに
<123>タイトル名
のように書きます。
このタイトル名の前の<123>は適当な飛び飛びの番号で桶。
remove_html=”1″をつけることでページ上では非表示になります。
この方法は、エントリだけではなく、カテゴリの並べ替えにもつかえて便利です。
あきさん、コメントありがとうございます。
なるほどです。
ソートしたい番号をタイトルに含めておいで、
<123>は書式上HTMLとみなされ、それをremove_html=”1″で非表示にする。
なかなかの力技ですねwww
次回どうしても困った時に試してみます~
ありがとうございました~