MT3の頃も、カテゴリーの並び替えに関しては様々な情報が出ていますが、皆さんはどんな風な方法を取ってるのでしょうか?
私の場合、Cutstringプラグインを利用してカテゴリーの並び替えを行ってます。
■任意の文字列を抽出する:CutString | MTプラグイン配布 | MT エンジニアブログ | スカイアークシステム
このプラグインは、カテゴリーのみではなく様々な場面で利用出来るとても素晴らしいプラグインです。
例えばArchiveTitleやEntryTitleなんかにも利用出来ますし、色んな場面で区切り文字を設定出来るので、使い方次第で意図する出力を容易に可能にしてくれます。
なので、GoogleMapとMTを組み合わせて緯度・経度出力の際にも、通常は「緯度」と「経度」の2つのフィールドを用意するかと思いますが、「緯度_経度」と出力させて、cutbeforeとcutnextのグローバル・フィルターを用いればひとつのフィールド済んでしまう利点があったりします。
で、今回はMT4でカテゴリー・ラベルやタイトルに、そういった記述の変更を行わなくても並べ替えが容易になるプラグインがありましたのでそちらを試しに導入してみました。
プラグイン
以下よりプラグインをDLさせて貰い、それぞれにULします。
■カテゴリーとフォルダを並べ替えるプラグイン(MT4以降用) - The blog of H.Fujimoto
- mt-staticディレクトリ内にUL
- MT/pluginsディレクトリ内にUL
UL後、管理画面に入ろうとするとDatabaseのアップグレードが始まるので従います。
テンプレート記述追加
並び替え順をそのまま反映させたい箇所に以下の記述を追加します。
カテゴリー一覧の箇所などですね。
<MTTopLevelCategories sort_method="SortCatFld::Sort">
並び替え管理
管理画面の「一覧」⇒「カテゴリ」に入ると「カテゴリの並べ替え」という項目が表示されてるので、こちらに入って並び替えを行う事が出来ます。
ちなみに、導入直後も以前の並び替え順が保持されたままだったのですごいなーと思いました。
まとめ
CutStringも素晴らしいのですが、例えばArchiveTitleで利用してる場合、そのアーカイブがEntryに当たる時(EntryTitle)に、ArchiveTitle=EntryTitle=EntryTitle cutbefore="区切り文字"となり、その際、エントリー・タイトル内に区切り文字が含まれてる時、予期せぬ区切りが行われてしまう場合に遭遇したので、今回のプラグインを試してみました。
並び替え自体は頻繁に行うものではないのですが、カテゴリー・ラベルの書き換えを行わずに済むのでとても便利です。
ひとつ気づいたのは、<CategoryNext>,<CategoryPrevious>では順番が反映されないのかな?って点です。
ここも並び順になるようになんらかの方法はないものか、と少し探ってみたのですが、今のところ良い方法が浮かばないです。
実は対応していて、自分だけの症状なら問題ないんですけど/(^o^)\