• 締切済み

Movabletypeでsort_orderが無効になる

Movable Type version 4.21-jaを使っています。 トップレベルカテゴリに属する記事だけをインデックスに表示させるために、 <MTTopLevelCategories> <MTIfNonZero tag="CategoryCount"> <MTEntries sort_by="created_on" sort_order="descend"> <div class="topics"> <h2 class="midashi"><$MTEntryTitle$></h2> <$MTEntryBody$> </div> </MTEntries> <MTElse> </MTElse> </MTIfNonZero> </MTTopLevelCategories> と記述していますが、sort_orderが有効になりません。 検索していたら、 MT 4.0 の MTEntries で sort_orderがきかない http://www.wizard-limit.net/mt/pc/archives/002631.html という記事があり、参考にして、lib/MT/Template/ContextHandlers.pmを修正してみましたが、状況は変わりません。 対処法をご教示いただければと思います。よろしくお願いいたします。

みんなの回答

  • elbavom
  • ベストアンサー率100% (67/67)
回答No.1

sort_byモディファイアの「created_on」は、MT4以降では「初めてDBに書き込んだ日付」を意味します。したがって、sort_byモディファイアに「created_on」を設定した場合、ブログ記事の公開日付でソートされません。 公開日付でソートする場合、MT4では、sort_byモディファイアに「authored_on」を用いるのが正しいのですが、sort_byモディファイアを設定しなければデフォルトで「authored_on」が適用されるため、以下のようにするのが正しいと考えます。 <MTEntries sort_order="descend"> なお、引用記事は「sort_order」に関する内容なので、今回の事象とは無関係です。

soyokazex
質問者

お礼

ずいぶんとお礼が遅くなってしまい、申し訳ありません。 おっしゃってくれたようにもしてみたのですが、だめでした。

関連するQ&A

専門家に質問してみよう