セレクトボックスやチェックボックス、ラジオボタンを簡単に生成することができるChoiceタイプは非常に強力なフォームタイプです。
ただ添付画像のようにラジオボタンを生成したときにNoneという選択肢が自動で表示されることがあります。
このNoneの消し方は意外と知られていないのですが、フォームのempty_valueオプションを「false」に設定することで表示されなくなります。
FormBuilderのコードとしては次のようになります。
$builder->add('form_name', 'choice', array( 'required' => false, 'label' => false, 'empty_value' => false, 'expanded' => true, 'multiple' => false, 'choices' => array( 1 => "選択肢1", 2 => "選択肢2", ), 'constraints' => array( new NotBlank(), ), ));
※empty_valueオプションはSymfony2.6で削除されました。よってEC-CUBEの次期バージョン3.n系ではサポートされませんのでまた別の手法が必要となるでしょう。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。