株式会社ぺいじず

2020.07.22

Movable Type:特定のカテゴリとその記事を条件分岐する

以前、「Movable Type:ホーム(サイトのトップページ)だけ条件分岐する」という記事を書いたのですが、「カテゴリの条件分岐はどうするのか」という質問をいただきました。

一般的には、「カテゴリ別記事リスト」アーカイブテンプレートでは、<mt:If tag=”CategoryLabel” eq=”foo”> を使用し、
https://movabletype.net/dict/category-05/category-if.html

「記事」アーカイブテンプレートでは、<mt:IfCategory name=”foo”> や <mt:If tag=”EntryCategory” eq=”foo”> を使用します。
https://movabletype.net/dict/if-09/mtifcategory.html

ただその場合、共通テンプレートにはカテゴリと記事、各々の条件分岐を記述しなければいけません。

ですので、私は各テンプレートに共通の変数を定義しています。

▼記述例▼

「カテゴリ別記事リスト」アーカイブテンプレート:

<mt:CategoryBasename setvar="category_basename">
<mt:Var name="$category_basename" value="1">

「記事」アーカイブテンプレート:

<mt:EntryPrimaryCategory><mt:CategoryBasename setvar="category_basename"></mt:EntryPrimaryCategory>
<mt:Var name="$category_basename" value="1">

これで例えば、お知らせ(info)だけ条件分岐したい場合、<mt:If name=”info”> でまとめて条件分岐できます。

みなさんも変数で柔軟なテンプレート設計をお試しください!


▼タグの説明▼

MTIf:
条件分岐タグ。条件を満たした場合に実行する。
https://www.movabletype.jp/documentation/appendices/tags/if.html

MTCategoryLabel:
カテゴリ名を表示する。
https://www.movabletype.jp/documentation/appendices/tags/categorylabel.html

MTIfCategory:
条件分岐タグ。対象となる記事が指定されたカテゴリに属している場合に実行する。https://www.movabletype.jp/documentation/appendices/tags/ifcategory.html

MTEntryCategory:
記事に指定したメインカテゴリを表示する。
https://www.movabletype.jp/documentation/appendices/tags/entrycategory.html

MTCategoryBasename:
カテゴリの出力ファイル/フォルダ名(ベースネーム)を表示する。
https://www.movabletype.jp/documentation/appendices/tags/categorybasename.html

MTVar:
変数タグ。定義した変数から値を呼び出す。
value モディファイアを使用した場合、変数を定義して値を設定する。
https://www.movabletype.jp/documentation/appendices/tags/var.html

EntryPrimaryCategory:
ブロックタグ。プライマリカテゴリ(メインカテゴリ)の情報を取得する。
https://www.movabletype.jp/documentation/appendices/tags/entryprimarycategory.html

※現在ぺいじずでは、Movable Typeを使ってWeb制作をする仲間を募集中です。
ご興味のある方は採用情報をご確認くださいませ。

関連記事

株式会社ぺいじず

私たちは、東京都で創業33年の制作会社です。
長年のマニュアル制作で培われたライティングスキルを活かし、効果的なWebサイトをご提案しています。