MT5.1で変更されたテンプレートタグの挙動

先月末に正式公開されたMovableType 5.1 ですが、テンプレートタグも大幅に改良(改悪?)されたようで、現在使っているオリジナルのテーマできちんと出力されない部分がありました。

具体的にはテンプレートタグのMTBlogsとinclude_blogs(blog_ids)モディファイアの挙動です。

同じような問題にぶつかっている人もいそうなので、書き残しておきます。

そもそも、MovableType5で付け加えられた「ウェブサイト」は、既存の「ブログ」からアーカイブの機能を取り除いたものでした。

そのため、MTBlogsのinclude_blogs(blog_ids)モディファイアに「ウェブサイト」のIDを指定しても、きちんと「ウェブサイト」の情報が取り出せました。

しかし、5.1ではMTBlogsで「ウェブサイト」のIDを指定しても、無効になるようです。

例えば、MTBlogsで「ウェブサイト」と「ブログ」の両方の名称を一度に出力したいようなケースでは、従来なら

<dl>
  <dt>ウェブサイトとブログの名称一覧</dt>
  <MTBlogs include_blogs="ウェブサイトとブログのID">
    <dd><MTBlogName></dd>
  </MTBlogs>
</dl>

のような書き方をすれば良かったのですが、5.1からは

<dl>
  <dt>ウェブサイトとブログの名称一覧</dt>
  <MTMultiBlog include_blogs="ウェブサイトとブログのID" mode="loop">
    <dd><MTBlogName></dd>
  </MTMultiBlog>
</dl>

と書く必要があるようです。

また、MTIndexLinkテンプレートタグで出力されるディレクトリ+index.htmlのURLにも変更が加えられたようで、従来であれば、

ディレクトリ/サブディレクトリ/

と、 / で終わる形式でしたが、5.1からはファイル名を含んだ

ディレクトリ/サブディレクトリ/index.html

に変更されたようです。

まだ他にも変更点がありそうですが、見つけたのは以上の2つです。