PowerCMS™
ホーム > PowerCMS > ドキュメント > スタンダード版 > カスタムフィールド >

スニペットフィールドを使った入力欄の工夫

複数の値を持つ入力欄を作成する

例えば複数選択可能なチェックボックスなど、同じ 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>

お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。