及川WEB室|ホームページ制作

HTML、CSS、JavaScript、スマートフォンサイト、Facebookなど、サイト制作に関する事をメモしています。
個人的な備忘録です。
及川WEB室 ホームページ制作HOME
及川WEB室 > Facebook > MovableTypeのブログ記事にカテゴリを表示する方法色々

MovableTypeのブログ記事にカテゴリを表示する方法色々

2015/08/23
MovableType のブログ記事に、カテゴリを表示する方法のサンプル5つ。
アーカイブテンプレートの「ブログ記事」テンプレート内に記述するMTタグをメモ。
※MTOS 5.2.13 にて動作確認

ブラウザでの表示例

ブログ記事内に、下の枠内のように5つの方法でカテゴリを表示する。
※リンクURLはダミーです。
オレンジ色の文字がカテゴリ名。
【1】ブログ内のカテゴリ全部: 単00,子01,子02,子03,孫01,親01,親02,親03 【2】ブログ記事自身が属するカテゴリ全部: 単00,子01,子02,孫01,親01,親02 【3】プライマリカテゴリ(メインカテゴリ): 孫01 【4】プライマリカテゴリが階層構造の場合、    その階層の最上位(親カテゴリ)からプライマリカテゴリまで全部: 親01 > 子01 > 孫01 【5】プライマリカテゴリが階層構造の場合、その階層の最上位のカテゴリ: 親01
↑このように表示する方法を以下に説明していきます。

上記【4】は、スニペット(パンくずリスト)の表示に使えそう。
上記【5】は、大見出し(<h1>など)を、最上位のカテゴリのカテゴリ名にしたい場合などに。
↓例えば、このようなHTMLにしたい場合に。
<h1>親01</h1>(←【5】の、プライマリカテゴリの最上位のカテゴリを使用)
<h2>孫01</h2>(←【3】の、プライマリカテゴリ(メインカテゴリ)を使用)

「ブログ記事」テンプレート内のMTタグ

【1】ブログ内のカテゴリ全部:

	<$MTCategoryLabel$>



【2】ブログ記事が属するカテゴリ全部: <$MTCategoryLabel$>
【3】プライマリカテゴリ(メインカテゴリ): <$MTCategoryLabel$>
【4】プライマリカテゴリが階層構造の場合、その階層の最上位(親カテゴリ)からプライマリカテゴリまで全部: <$MTCategoryLabel$>
【5】プライマリカテゴリが階層構造の場合、その階層の最上位のカテゴリ: <$MTCategoryLabel$>
  • 1行目の「<mt:Categories>」は、ブログ(ブログ記事ではなく)に登録されているカテゴリを出力するブロックタグ。
    ブログ記事が属しているカテゴリを出力したい場合は「<mt:entrycategories>」(8行目・14行目)。
  • 1行目の「show_empty="1"」は、カテゴリに属する記事が無い場合でもそのカテゴリも出力するモディファイア。 記事の無いカテゴリは出力しない場合は「show_empty="0"」にする。
  • ブロックタグに設定している「glue=","」や「glue=" > "」などの、glue モディファイアは、区切りに使用する文字を指定。
  • 14行目の「type="primary"」は、プライマリカテゴリ(メインカテゴリ)のみを出力するモディファイア。
  • 27行目の「<mt:HasNoParentCategory>」は、親カテゴリが無い場合に実行する条件タグ。親カテゴリが無いという事は、最上位のカテゴリ。

サンプル

ブログ内のカテゴリ(例)

この例では、ブログ内にカテゴリが8つ、以下のように設定されていると想定。
オレンジ色の文字がカテゴリ名。
単00親01
│ └ 子01
│  └ 孫01親02
│ └ 子02親03
 └ 子03

ブログ記事が所属するカテゴリ(例)

このブログ記事では、8つ中、6つのカテゴリが選択されている状態を想定。
孫01」をプライマリカテゴリ(メインカテゴリ)に設定してある。 MovableType ブログ記事 カテゴリ

ブラウザでの表示(例)

前述の、「ブログ記事」テンプレート内のMTタグで書き出した部分。
【1】ブログ内のカテゴリ全部: 単00, 子01, 子02, 子03, 孫01, 親01, 親02, 親03
【2】ブログ記事自身が属するカテゴリ全部: 単00, 子01, 子02, 孫01, 親01, 親02
【3】プライマリカテゴリ(メインカテゴリ): 孫01
【4】プライマリカテゴリが階層構造の場合、その階層の最上位(親カテゴリ)からプライマリカテゴリまで全部: 親01 > 子01 > 孫01
【5】プライマリカテゴリが階層構造の場合、その階層の最上位のカテゴリ: 親01

HTML(例)

前述の、「ブログ記事」テンプレート内のMTタグから生成されるHTML。
【1】ブログ内のカテゴリ全部:
	単00,
	子01,
	子02,
	子03,
	孫01,
	親01,
	親02,
	親03


【2】ブログ記事自身が属するカテゴリ全部: 単00, 子01, 子02, 孫01, 親01, 親02
【3】プライマリカテゴリ(メインカテゴリ): 孫01
【4】プライマリカテゴリが階層構造の場合、その階層の最上位(親カテゴリ)からプライマリカテゴリまで全部: 親01 > 子01 > 孫01
【5】プライマリカテゴリが階層構造の場合、その階層の最上位のカテゴリ: 親01

以上です。
MENU Ξ