セレクトボックスやチェックボックス、ラジオボタンを簡単に生成することができるChoiceタイプは非常に強力なフォームタイプです。

ただ添付画像のようにラジオボタンを生成したときにNoneという選択肢が自動で表示されることがあります。

ラジオボタン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オープンプラットフォーム「EC-CUBE」 EC-CUBEゴールドパートナー EC-CUBEは株式会社イーシーキューブの商標です

EC-CUBEカスタマイズに関するお問い合わせはこちら


    [重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。

    EC-CUBEバージョンアップ