●CatSort ver.0.3 - 「カテゴリーの説明」でソート可能に!
CatSort プラグインをバージョンアップ。ver.0.3 になりました。
今回は、「カテゴリーの説明」(<$MTCategoryDescription$>で表示される内容)によるソートメソッドの追加です。
これにより、より自由に任意の順序でのソートも可能になります!
以下に、今回追加した CatSort::by_description による「任意の順序でのソート」を実現する方法について解説します。
0. サンプルソース
下記の説明にて、共通で以下のテンプレートソースを使用しているものとします:
<MTTopLevelCategories sort_method="CatSort::by_description">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<li><$MTCategoryLabel$>: "<$MTCategoryDescription$>"</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTTopLevelCategories>
1. CatSort::by_description メソッドによるソート:基本
今例えば、カテゴリーとその「説明」が、以下のようになっていたとします(空欄は未設定):
| カテゴリー名 | カテゴリーの説明 |
|---|---|
| Mac | |
| Memo | |
| MTplugin | 自作MovableTypeプラグインの紹介。 |
| column | |
| draft | |
| information | インフォメーション。サイトの更新情報等。 |
この時、上記のテンプレートによる表示結果は以下のようになります:
- information: "インフォメーション。サイトの更新情報等。"
- MTplugin: "自作MovableTypeプラグインの紹介。"
- Mac: ""
- Memo: ""
- column: ""
- draft: ""
説明が未設定のカテゴリーは、デフォルトの順序(カテゴリー名の昇順)で最後にまとめてソートされます。
2. CatSort::by_description メソッドによるソート:応用1
お待たせしました、いよいよ本題。
カテゴリーを、MTplugin → Mac → Memo → column → information → draft の順にソートしたいとします。
そこで、カテゴリーの「説明」を編集して、以下のようにしてみます:
| カテゴリー名 | カテゴリーの説明 |
|---|---|
| Mac | 002 |
| Memo | 003 |
| MTplugin | 001 自作MovableTypeプラグインの紹介。 |
| column | 004 |
| draft | 006 |
| information | 005 インフォメーション。サイトの更新情報等。 |
すると、表示結果は以下のようになります:
- MTplugin: "001 自作MovableTypeプラグインの紹介。"
- Mac: "002"
- Memo: "003"
- column: "004"
- information: "005 インフォメーション。サイトの更新情報等。"
- draft: "006"
希望通りのソート順序でソートされました(^-^)
でも、そのままだとカテゴリーの説明の冒頭に、あやしい数字が表示されてしまいますね。
そこで、さらにもう一工夫↓。
3. CatSort::by_description メソッドによるソート:応用2
さらに一工夫。
ソートの希望順序は先ほどと同じとします。
カテゴリーの「説明」を編集して、今度は以下のようにしてみましょう:
| カテゴリー名 | カテゴリーの説明 |
|---|---|
| Mac | <span class="002"></span> |
| Memo | <span class="003"></span> |
| MTplugin | <span class="001"></span> 自作MovableTypeプラグインの紹介。 |
| column | <span class="004"></span> |
| draft | <span class="006"></span> |
| information | <span class="005"></span> インフォメーション。サイトの更新情報等。 |
すると、表示結果は以下のようになります:
- MTplugin: "自作MovableTypeプラグインの紹介。"
- Mac: ""
- Memo: ""
- column: ""
- information: "インフォメーション。サイトの更新情報等。"
- draft: ""
見た目には、余分な数字は表示されません!
これは、<span class="XXX"></span> の部分が何も表示しないからです。(ソースを見ればちゃんとこの記述が残っているのが分かります。)
これで、「カテゴリーの説明も表示したい!」という要望にもお応えできます♪
3-1. 補足・注意事項
3. の方法を使用するときで、<$MTCategoryDescription$> を単純に表示するのではなく、他のタグの属性にする場合などは注意が必要です。
例えばカテゴリーアーカイブで
<meta name="description" content="<$MTCategoryDescription$>" />
としていた場合、実際の出力が
<meta name="description" content="<span class="006"></span>" />
等となってしまい、表示が崩れたり予期しないエラーの原因になります。
そのような場合は、<$MTCategoryDescription$> タグに remove_html 属性を指定しましょう:↓こんな感じ。
<meta name="description" content="<$MTCategoryDescription remove_html="1"$>" />
お約束
ver.0.3 のダウンロードは、公開ページからどうぞ。
みなさまからのフィードバックもお待ちしております。



