アドオン・プラグイン
複数の値を持つ入力欄を作成する
例えば複数選択可能なチェックボックスなど、同じ name 属性の input 要素を指定することができます。
下記は複数選択可能なチェックボックスのテンプレート (既定値欄に入力するテンプレート) の例です。name 属性値に「_loop」を付け加えた名前のループ変数を MTLoop ブロックタグでループして snipet_option という変数で値を受け取ります。
既定値に入力するテンプレート
<label>
<input type="checkbox" name="foo" value="1"<mt:loop name="foo_loop"><mt:if name="snippet_option" eq="1">checked="checked"</mt:if></mt:loop> /> option1
</label>
<label>
<input type="checkbox" name="foo" value="2"<mt:loop name="foo_loop"><mt:if name="snippet_option" eq="2">checked="checked"</mt:if></mt:loop> /> option2
</label>
このケースで、タグ名が MTEntrySnippet、オプションが foo の場合、下記のようにテンプレートを記述します。
出力テンプレート
<MTEntrySnippetVars key="foo">
<$MTVar name="__value__"$>
</MTEntrySnippetVars>
コンテキスト (MTVar) にセットされる値
- first: ループの最初
- counter: ループの何回目か
- odd: 奇数回目の出力
- even: 偶数回目の出力
- last: ループの最後
- value: 値
添付ファイル欄を作成する
スニペットフィールドには添付ファイル欄を作成・追加することができます。複数の添付ファイル欄を一つのスニペットフィールドに配置することも可能です。以下はタグ名が MTEntrySnippetImage で name 属性が snippet_image の場合の既定値とテンプレートの例です。
既定値に入力するテンプレート
<mt:if name="snippet_image">
<input type="hidden" name="snippet_image_original" value="<mt:var name="snippet_image_original" escape="html">" />
<mt:if name="snippet_image_thumbnail">
<a href="<mt:var name="snippet_image" escape="html">" target="_blank"><img src="<mt:var name="snippet_image_thumbnail">" width="100" height="100" alt="" /></a>
<mt:else>
<a href="<mt:var name="snippet_image" escape="html">" target="_blank"><mt:var name="snippet_image" escape="html"></a>
</mt:if>
</mt:if>
<input type="file" name="snippet_image" />
<mt:if name="snippet_image">
<label>
<input type="checkbox" name="snippet_image_remove"<mt:if name="snippet_image_remove"> checked="checked"</mt:if> value="1" /> 削除
</label>
</mt:if>
出力テンプレート
<MTEntrySnippetImageAsset key="snippet_image">
<$MTTemplateNote value="*このブロックではアイテム (MTAsset) のコンテキストがセットされる"$>
<$MTAssetURL escape="html"$>
</MTEntrySnippetImageAsset>