Blog

Movable Typeの気づいた点などの紹介

2018.07.21

コンテンツタイプテンプレートでmt:CategoryLabelとmt:CategoryBasenameの取得方法

コンテンツタイプテンプレートでカテゴリの取得がうまく出来なかった。
Jiraにも出したんですが、単純に自分の書き方が間違ってました。ごめんなさい。シックス・アパートさん
https://movabletype.atlassian.net/browse/FEEDBACK-1179

記事詳細テンプレートのときは、mt:CategoryLabelとmt:CategoryBasenameだけで取得できたのですがコンテンツタイプテンプレートになるとmt:ContentFieldで括る必要があります。

MT7からコンテンツタイプではカテゴリ自体が任意の設定になりました。
カテゴリもフィールドの追加としてなったことでフィールド名を指定した上でmt:CategoryLabelやmt:CategoryBasenameを入れることで表示させることができます。

従来の記事詳細テンプレートの場合

従来の記事詳細では、以下のコードのように記事についているカテゴリを自動で取得できました。
カテゴリは記事にデフォルトに設定されていたので、このように書けました。

  
<mt:Categorylabel />:カテゴリのラベル
<mt:CategoryBasename />:カテゴリのベースネーム
  

コンテンツタイプテンプレートの場合

コンテンツタイプでは、設定したフィールド名を取得しその中でカテゴリの情報を取得・表示させるようにします。
従来の書き方に慣れていたので、括る必要が出てきましたがコンテンツタイプの仕様上このように書きます。

  
<mt:ContentField content_field="カテゴリ">
<mt:ContentFieldValue />:カテゴリのセットID
<mt:Categorylabel />:カテゴリのラベル
<mt:CategoryBasename />:カテゴリのベースネーム
</mt:ContentField>
  

コンテンツタイプのリファレンス

シックス・アパートさんのご返信で以下にきちんとドキュメント書いてました。m(_ _)m
徐々にドキュメントもアップデートされてきているので、手探りで探すのではなく日々チェックしておく必要がありますね。

  • Facebook
  • Twitter
  • はてなブックマーク
CATEGORY BACK