PowerCMS Xでラジオボタン型の入力項目のラベルを変えたいとき
案件での実装で役に立つ機会が多そうな情報なのでメモ。
PowerCMS X のカスタマイズの改修を行う例として、次の前提と要件を考える。
前提
改修前は次の状態だとする。
- 記事の編集画面にラジオボタン型の入力項目(以降カラムA)を設けてる。
- カラムAは、モデルにカラムを追加する形で追加したもの。
このとき、カラムAの設定値「編集表示>オプション」は次の値であり、
1=東京,2=大阪,3=名古屋
記事の編集画面では、カラムAの入力欄の表示は次の通りである。
〇東京 〇大阪 〇名古屋
この状態で、例えば記事の編集画面にて「大阪」が選択されて保存されると、CMSのDB上ではカラムAの値に「2」が設定されて保存される。つまり前述オプションで指定した「2=大阪」の左辺値が保存される。これは保存した記事をCSVエクスポートしてみると分かる。
要件
これを改修にあたり、次のように「名古屋→愛知」とラベルを変えたい。
〇東京 〇大阪 〇愛知
改修の方法
この場合、前述の設定値「編集表示>オプション」を次のように変更・保存すればよい。
1=東京,2=大阪,3=愛知
なお、上記ラベルの変更によって、今までに登録済みの記事のカラムAの設定値が意図せず変わる事は無い。
これは先の「前述」でも述べたが、CMSのDBに保存される値は、前述オプションの「3=愛知」の左辺値である為。
なお、このオプションを「値=ラベル」の形式で指定する機能は、PowerCMS ver2.57 よりサポートされており、ラジオボタン以外の選択型入力項目(ドロップダウン、チェックボックス)でサポートされる。
参考:公式のPowerCMS X ver2.57 リリースノート
https://powercmsx.jp/release_note/ver2_57.html
また、PowerCMSのラジオボタン型カスタムフィールドでも、このオプション指定方法は可能。