EC-CUBE4 問合せフォームの名前フォームを必須項目から任意項目に変更する方法
EC-CUBE4の問合せフォーム(ドメイン名/contact)の名前フォームを必須項目から任意項目に変更する方法を紹介します。
ここでは、プラグインフォルダーの雛形を作成し、プラグイン内に複製した問い合わせフォームにContactType.phpを複製します。
※以下のファイルをそのまま開いて修正もできますが、バージョンアップの際にsrcフォルダー内のファイルが更新されてしまうため推奨できません。
パス:src/Eccube/Form/Type/Front/ContactType.php
・以下の記事を参考に、プラグインの雛形を作成してください。※既に作成済みの方は省略してください。
・以下の記事を参考に、作成したプラグインの雛形内に問合せフォームを複製してください。※既に作成済みの方は省略してください。
・以下のファイルを指定のフォルダーにコピーする。
パス:src/Eccube/Form/Type/Front/ContactType.php
⇒app/Plugin/プラグインフォルダー名/Form/Type/Frontフォルダー内
※Frontフォルダーは雛形にはないので新規作成する。
・ContactType.phpファイルの修正
ContactTypeクラスのbuildFormメソッド内にある以下の部分に修正を加えます。
上記の「’required’ => true,」を「’required’ => false,」に変更します。
$builder
->add(‘name’, NameType::class, [
‘required’ => true, ←ここ
])
たったこれだけで、問合せフォーム画面から「必須」の文字が消え、名前フォームを空欄にしても問題なく通ります。
NameType.phpやstyle.css(下記パス参照)のコードで簡単に設定できるようになっているようです。
パス:src/Eccube/Form/Type/NameType.php
パス:html\template\default\assets\css\style.css(2654行目~)
※default_frame.twig37行目に下記の読み込みコードあり
<link rel=”stylesheet” href=”{{ asset(‘assets/css/style.css’) }}”>