Movable Typeのラジオボタンで名前と値を取得する

Movable Typeのコンテンツタイプで登録できるフィールドのうち、ラジオボタンとセレクトボックス、チェックボックスは、選択項目の名前と値を設定することができます。
これらのフィールドをテンプレートで出力する際に、選択した項目の名前と値を取得する方法を試してみます。

設定方法

ラジオボタンやセレクトボックス、チェックボックスのフィールドは、フィールド登録時に以下のように項目の名前と値を設定して使用します。

管理画面上では、「名前」で設定したテキストで表示されます。

コンテンツフィールドを表示する場合、通常はMTContentFieldValueを使います。

<h3>ラジオボタン</h3>
<mt:ContentField content_field="ラジオボタン">
<p><mt:ContentFieldValue></p>
</mt:ContentField>

<h3>セレクトボックス</h3>
<mt:ContentField content_field="セレクトボックス">
<p><mt:ContentFieldValue></p>
</mt:ContentField>

<h3>チェックボックス</h3>
<mt:ContentField content_field="チェックボックス">
<p><mt:ContentFieldValue></p>
</mt:ContentField>

再構築を行うと、「値」で設定したテキストが表示されました。

<h3>ラジオボタン</h3>
<p>a</p>

<h3>セレクトボックス</h3>
<p>a</p>

<h3>チェックボックス</h3>
<p>a</p>

ラジオボタンとセレクトボックス、チェックボックスのフィールドの場合、MTContentFieldのブロック内で「__key__」や「__value__」の変数を使うことで、「名前」と「値」で設定したテキストを取得することができます。

<h3>ラジオボタン</h3>
<mt:ContentField content_field="ラジオボタン">
<p>__key__:<mt:Var name="__key__"></p>
<p>__value__:<mt:Var name="__value__"></p>
<p>ContentFieldValue:<mt:ContentFieldValue></p>
</mt:ContentField>

<h3>セレクトボックス</h3>
<mt:ContentField content_field="セレクトボックス">
<p>__key__:<mt:Var name="__key__"></p>
<p>__value__:<mt:Var name="__value__"></p>
<p>ContentFieldValue:<mt:ContentFieldValue></p>
</mt:ContentField>

<h3>チェックボックス</h3>
<mt:ContentField content_field="チェックボックス">
<p>__key__:<mt:Var name="__key__"></p>
<p>__value__:<mt:Var name="__value__"></p>
<p>ContentFieldValue:<mt:ContentFieldValue></p>
</mt:ContentField>

再構築を行うと、「__key__」で「名前」、「__value__」で「値」のテキストを取得できました。
「__value__」で取得できる値は、MTContentFieldValueと同じになるようです。

<h3>ラジオボタン</h3>
<p>__key__:名前A</p>
<p>__value__:a</p>
<p>ContentFieldValue:a</p>

<h3>セレクトボックス</h3>
<p>__key__:名前A</p>
<p>__value__:a</p>
<p>ContentFieldValue:a</p>

<h3>チェックボックス</h3>
<p>__key__:名前A</p>
<p>__value__:a</p>
<p>ContentFieldValue:a</p>

セレクトボックスやチェックボックスなど複数選択可能なフィールドで複数選択した場合、MTContentFieldの中でループ処理になるようです。
複数選択可能なフィールドで複数選択した上で再構築を行うと、以下のように出力されました。

<h3>ラジオボタン</h3>
<p>__key__:名前A</p>
<p>__value__:a</p>
<p>ContentFieldValue:a</p>

<h3>セレクトボックス</h3>
<p>__key__:名前A</p>
<p>__value__:a</p>
<p>ContentFieldValue:a</p>
<p>__key__:名前B</p>
<p>__value__:b</p>
<p>ContentFieldValue:b</p>

<h3>チェックボックス</h3>
<p>__key__:名前A</p>
<p>__value__:a</p>
<p>ContentFieldValue:a</p>
<p>__key__:名前B</p>
<p>__value__:b</p>
<p>ContentFieldValue:b</p>

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年12月
1234567
891011121314
15161718192021
22232425262728
293031