JavaScript、Ajax、HTML5(API)、Ruby…Web及び関連技術の実験&情報公開&制作物紹介。

CatSort ver.0.3 - 「カテゴリーの説明」でソート可能に!

| トラックバック(1)

CatSort プラグインをバージョンアップ。ver.0.3 になりました。

今回は、「カテゴリーの説明」(<$MTCategoryDescription$>で表示される内容)によるソートメソッドの追加です。
これにより、より自由に任意の順序でのソートも可能になります!

以下に、今回追加した CatSort::by_description による「任意の順序でのソート」を実現する方法について解説します。

0. サンプルソース

下記の説明にて、共通で以下のテンプレートソースを使用しているものとします:

<MTTopLevelCategories sort_method="CatSort::by_description">
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<li><$MTCategoryLabel$>: &quot;<$MTCategoryDescription$>&quot;</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 の順にソートしたいとします。
そこで、カテゴリーの「説明」を編集して、以下のようにしてみます:

カテゴリー名カテゴリーの説明
Mac002
Memo003
MTplugin001 自作MovableTypeプラグインの紹介。
column004
draft006
information005 インフォメーション。サイトの更新情報等。

すると、表示結果は以下のようになります:

  • 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 のダウンロードは、公開ページからどうぞ。

みなさまからのフィードバックもお待ちしております。

トラックバック(1)

あんちもん2.Lab - 意外と知られていない機能を引き出す! カテゴリーソートプラグイン (2006年11月29日 22:28)

<MTTopLevelCategories>や>MTSubCategories>で使える、「ソートメソッド」を提供するプラグインを公開! 続きを読む

カテゴリ

月別 アーカイブ

OpenID対応しています OpenIDについて

このブログ記事について

このページは、あんちもん2が2006年11月29日 20:51に書いたブログ記事です。

ひとつ前のブログ記事は「CatSort ver.0.2 - エントリーの投稿と関連するカテゴリーソートメソッドを追加!」です。

次のブログ記事は「Movable Type 公式コミュ [MTUG.jp]公開」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。