![見出し画像](https://assets.st-note.com/production/uploads/images/156236673/rectangle_large_type_2_734dad162f1230cea306d55ec3d8f1d5.png?width=1200)
Photo by
peach0200
PowerCMS X で複数チェックボックスの作成と出力
モデル画面
モデルの編集画面でカラムを追加します。
![](https://assets.st-note.com/img/1727690976-2gfKrAHqvduwbiRYQT6XkBSF.png?width=1200)
名前:任意(例:test)
ラベル:任意(例:Test)
タイプ:テキスト(50)、テキスト(255)、テキスト(768)のいずれか
一覧表示:テキスト
編集表示:
「選択項目」
オプションは任意(半角カンマ区切り)
タイプ「チェックボックス」
![](https://assets.st-note.com/img/1727691173-l6AYaPpgR3WbfFGQqe9xNy5I.png?width=1200)
カラムを保存した後に、モデルを保存してください。
投稿画面
チェックボックスが表示されたと思います。チェックを入れてデータを保存してください。
![](https://assets.st-note.com/img/1727691338-19Ntnjw3Pa2Q7zJIyCRDudAl.png?width=1200)
ビュー(テンプレートタグ)
記事モデルに設定した場合は mt:Entry + Test で出力できますが、複数チェックしているとカンマも一緒に出力されます。
<mt:EntryTest>
結果
経済,スポーツ
下記コードのように配列へセットすると自由に加工ができます。
split モデファイアは指定した文字で配列にしてくれます。
<mt:EntryTest split="," setvar="array_data">
<mt:loop name="array_data" trim_space="2">
<div><mt:var name="__value__"></div>
</mt:loop>
結果
<div>経済</div>
<div>スポーツ</div>
前後に first, last を入れると、良い感じになります。
trim_space="2" は不要な改行を削除してくれるので、HTMLソースがきれいになります。
<mt:EntryTest split="," setvar="array_data">
<mt:loop name="array_data" trim_space="2">
<mt:if name="__first__">
<ul>
</mt:if>
<li><mt:var name="__value__"></li>
<mt:if name="__last__">
</ul>
</mt:if>
</mt:loop>
結果
<ul>
<li>経済</li>
<li>スポーツ</li>
</ul>