ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ホーム > コミュニティ > PC、インターネット > MT備忘録 > トピック一覧 > 【落とし穴】 sort_by=...

MT備忘録コミュの【落とし穴】 sort_by="created_on" の罠

  • mixiチェック
  • このエントリーをはてなブックマークに追加

コミュ内全体

仕事でウェブサイトのTOPページにウェブサイト内のブログから「ウェブページ」の一覧を並べて表示するという作業をしている際のこと。
並ぶ順が決まっているのと、ファイル名での並び替えは無理だったので、何かいい方法はないかと調べたところ、リファレンスの「sort_by」モデファイアにはこんな感じで書かれていた。

--------以下抜粋------------

sort_by="foo"

ウェブページを並び替える対象を指定します。

* authored_on (ユーザー・初期値)
* title (ウェブページのタイトル)
* ping_count (トラックバックの件数) new in mt4.2
* comment_count (コメントの件数) new in mt4.2
* author_id (作成ユーザー ID)
* excerpt (概要)
* status (ウェブページの状態: 下書き/公開)
* created_on (作成日)
* modified_on (変更日時)

--------抜粋ここまで------------

かように書いてたので作成日で並び替える「created_on」が有効だろうと思い、
以下のような記述にしてみた。

<MTMultiBlog mode="loop" include_blogs="110">
<ul class="inner-Link3">
<mt:Pages sort_by="created_on" sort_order="ascend">
<li><a href="<$MTPagePermalink$>"><$mt:PageTitle$></a></li>
</mt:Pages>
</ul>
</MTMultiBlog>

で、いざ結果を見てみると…どうやっても思ったとおりに並び変わらないorz
無論、ちゃんと並び替えたかったので、ウェブページの編集画面で
「公開日」の日付や時間はきちんといじったのである。

で、どうやら、「作成日」で並び替える「created_on」は、ファイルの作成された日時で判断してるっぽい様子。
というか、FTPが使えない環境下なのでタイムスタンプもいじれないし、マジどうしたらいいものやら…。

ということで、ネットでその辺の情報を調べてみたところ、


--------以下抜粋------------

一方、Movable Type 4では、エントリーのテーブルに「authored_on」というフィールドが追加されました。
authored_onとcreated_onは、以下のように区別されます。

* authored_on → エントリーを新規作成した時点の日時
* created_on → エントリーをデータベースに初めて保存した時点の日時

従来のMovable Typeでは、エントリーの日付を処理する場合(たとえばMTEntryDateタグ)、created_onフィールドの値が使われていました。
一方、Movable Type 4では、エントリーの日付としてauthored_onフィールドの値を使うように変更されています。
たとえば、MTEntryDateタグでエントリーの日付を出力すると、authored_onフィールドの値が使われます。

--------抜粋ここまで------------

つまり、エントリーの日付で並び替えたい場合は、「authored_on」を使え、ということみたいです。


これを踏まえた上で、もう一度リファレンスの該当箇所を抜粋します。

--------以下抜粋------------

sort_by="foo"

ウェブページを並び替える対象を指定します。

* authored_on (ユーザー・初期値)

--------抜粋ここまで------------


さすがにこの説明じゃわからんだろ…orz

ということで、

<MTMultiBlog mode="loop" include_blogs="110">
<ul class="inner-Link3">
<mt:Pages sort_by="authored_on" sort_order="ascend">
<li><a href="<$MTPagePermalink$>"><$mt:PageTitle$></a></li>
</mt:Pages>
</ul>
</MTMultiBlog>

と記述したことで、無事思い通りに並び変わりました。
皆さんも落とし穴にはご注意くださいませ。

コメント(0)

mixiユーザー
ログインしてコメントしよう!

MT備忘録 更新情報

MT備忘録のメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。