Movable Type のリスティングフレームワークのフィルタの挙動がおかしいかったので、その対処法をシェアします。
Movable Type のブログ記事一覧などにはフィルタ機能があって、よく使うフィルタを登録しておくことができます。
このフィルタについてですが、時々挙動がおかしいときがあります(下図参照)。どうもプラグインでリスティングフレームワークを拡張している環境で起こるっぽいです。
デバッグしてみたところ、 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
に設置すれば解消できます。
以上です。