Movable Type のリスティングフレームワークのフィルタの挙動がおかしい件

Movable Type のリスティングフレームワークのフィルタの挙動がおかしいかったので、その対処法をシェアします。

Movable Type のブログ記事一覧などにはフィルタ機能があって、よく使うフィルタを登録しておくことができます。

このフィルタについてですが、時々挙動がおかしいときがあります(下図参照)。どうもプラグインでリスティングフレームワークを拡張している環境で起こるっぽいです。

filterBug.gif

デバッグしてみたところ、 list-common.tmpl にはじめに定義されている、

var filters = <mt:var name="filters">;

この部分の filters の配列の順序と、フィルタをクリックしたときに Ajax で取得しているレスポンスデータ( data とする)の data.result.filters の配列の順序が違うのが原因のようです。

そこで、応急処置として、 list-common.tmpl を複製して、 MT6.3.3 の場合は 916 行目の、

filters = data.result.filters;

if (filters.length != data.result.filters.length) {
 filters = data.result.filters;
}

のように修正して alt-tmpl/cms/list_common.tmpl に設置すれば解消できます。

以上です。

Published 2017-07-04
Updated 2019-06-25

「Movable Type」カテゴリの記事一覧