お知らせ

これだけは知っておきたい Webアプリケーションの常識 2008年3月28日

これだけは知っておきたい Webアプリケーションの常識」が発売されました。
Webアプリケーションを作る上では、HTTPのプロトコルや、開発言語、データベースなど、さまざまな知識を組み合わせることが必要になります。
それらを全般的にまとめた一冊です。
Webアプリケーション開発にチャレンジしたい方や、実際に開発までしないまでも基礎知識として知っておきたい方にお勧めです。

他にも多数書籍を執筆しています。
こちらもぜひご覧ください。

主/副カテゴリーを区別して出力する

| コメント(2) | トラックバック(8)

Movable Typeでは、1つのエントリーを複数のカテゴリーに割り当てることができます。
また、そのうち1つを主カテゴリーにし、残りは副カテゴリーにすることもできます(主カテゴリーをなしにして、全部を副カテゴリーにすることもできます)。

しかし、Movable Typeの標準のテンプレートタグでは、主カテゴリーと副カテゴリーを区別して出力するものがありません。
MTEntryCategoryタグを使うと、主カテゴリーの名前(ラベル)を出力することができますが、その他の情報は出力できません。
また、MTEntryCategoriesタグを使うと、エントリーの全カテゴリーが文字コード順に出力され、主/副を区別することができません。

そこで、主カテゴリーと副カテゴリーを区別して出力するようなプラグインを作ってみました。

インストール

以下のページに接続して、表示されたソースコードをすべてコピーし、メモ帳等に貼り付けます。
そして、ソースコードに「EntryCategoriesModified.pl」というファイル名をつけて保存し、Movable Typeの「plugins」フォルダにアップロードします。

プラグインのソース

プラグインの継続的な開発やサポートのために、プラグインをご利用された方は、ドネーション(寄付)を行っていただけると幸いです。
ドネーションの方法は、こちらのページをご参照ください。

MTEntryCategoriesModifiedタグ

MTEntryCategoriesModifiedタグはMTEntryCategoriesタグを改良したものです。
コンテナタグになっていて、コンテナの中ではMTCategoryXXXタグを使うことができます。
「mode="xxx"」のアトリビュートを指定することで、以下の表のように、エントリーに割り当てたカテゴリーを出力することができます。

アトリビュート動作
mode="primary"主カテゴリーだけを出力します
mode="secondary"副カテゴリーだけを出力します
mode="all"まず主カテゴリーを出力し、その後に副カテゴリーを出力します

また、MTEntryCategoriesタグと同じく、「glue="○"」のアトリビュートで、カテゴリー間を区切る文字を指定することもできます。

MTEntryCategoryCountタグ

エントリーに割り当てたカテゴリーの数(主/副の合計)を出力する変数タグです。
また、「secondary="1"」のアトリビュートをつけると、副カテゴリーの数だけを出力することもできます。

MTEntryIfPrimaryCategoryタグ

エントリーに主カテゴリーがあるかどうかを判断する条件タグです。

MTEntryIfSecondaryCategoryタグ

エントリーに副カテゴリーがあるかどうかを判断する条件タグです。

使用例

以下のリストは、エントリーのカテゴリーを主カテゴリーと副カテゴリーに分けて出力する例です。
カテゴリーの名前を出力し、その部分をカテゴリーアーカイブページへのリンクにします。
また、副カテゴリーが複数ある場合は、それらの間をコンマで区切ります。

<p>
<MTEntryIfPrimaryCategory>主カテゴリー:<MTEntryCategoriesModified mode="primary"><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></MTEntryCategoriesModified><br /></MTEntryIfPrimaryCategory>
<MTEntryIfSecondaryCategory>副カテゴリー(<$MTEntryCategoryCount secondary="1"$>):<MTEntryCategoriesModified mode="secondary" glue=" , "><a href="<$MTCategoryArchiveLink$>"><$MTCategoryLabel$></a></MTEntryCategoriesModified></MTEntryIfSecondaryCategory>
</p>

トラックバック(8件)

このブログ記事を参照しているブログ一覧: 主/副カテゴリーを区別して出力する

このブログ記事に対するトラックバックURL: http://www.h-fj.com/mt/mt-tb.cgi/313.

» プライマリカテゴリとセカンダリカテゴリを区別して出力(RED PONDUS DIRUPTIO)からのトラックバック

 MTEntryCategoriesModifiedプラグイン。  リンク先にて... 続きを読む

» Movable Tyle 2005総集編(たねちゃんズ12)からのトラックバック

前のエントリーから1ヵ月以上経っていますが、またまた中身は超進化していますので。... 続きを読む

» カテゴリごとに最新エントリーを表示する(DreamweaverでMovable Type編集)からのトラックバック

カテゴリ・アーカイブ内ではあまりひねらずとも、次のように記述すれば、そのカテゴリ... 続きを読む

» 主/副カテゴリーを区別して出力するプラグイン(ツール・ド・もんち - Tour De MonChi -)からのトラックバック

MovableTypeは1つの記事に対し、複数のカテゴリーが設定できます。 自分... 続きを読む

» 主カテゴリーと副カテゴリーを区別して出力する(Web-Lab | goat10.com)からのトラックバック

複数のカテゴリーに属しているエントリーページに、主カテゴリーの説明文(とリンク)... 続きを読む

» MTEntryCategoriesModifiedタグ(IrodorI One-Poem World)からのトラックバック

以前、カテゴリーアーカイブのディレクトリ名をうまく設定できないと書いたが、これ... 続きを読む

» MovableTypeのパンくずリスト(ddy-w::blog)からのトラックバック

エントリー数も少しづつ増えてきたので、パンくずリストを設置しました。 ひとつの... 続きを読む

» MT3.3をインストールしてみました。(ABEKE - Design side -)からのトラックバック

遅ればせながらMT3.3をインストールしてみました。 結構前にリリースされたのは... 続きを読む

コメント(スレッド2件,コメント2件)

コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。

No.1 忍月 : (無題)

はじめまして
求めていた機能が見つかったと思い、さっそくチャレンジしたのですが、再構築時に以下のようなエラーが出てしまいます。


Can't call method "category" on an undefined value
at(パス)/mt/plugins/EntryCategoriesModified.pl line 91.

再構築しようとしているタグはこちらの使用例をそのままでテストしました。
使用しているMovable Typeは3.2-ja-2です。
原因には何が考えられるか、アドバイスいただけないでしょうか?
よろしくお願いいたします。

No.2  : (無題)

>忍月さん
こんにちは。

このプラグインのテンプレートタグは、<MTEntries>~</MTEntries>の間か、エントリーアーカイブテンプレートの中でないと、使うことができません。
それ以外の位置に入れると、コメントいただいたようなエラーメッセージが表示されます。

テンプレートの中で、タグを入れた位置をご確認ください。

コメントする

管理者のみにコメントを送信したい場合は、「コメントを秘密にする」のチェックをオンにしてコメントを送信するか、メールフォームからメールをお送りください。

ブログ全体の感想など、この記事に直接に関係しないコメントは、ゲストブックにお気軽に投稿してください。


アーカイブ

ブログパーツ

ステータス