バージョン選択

フォーラム

メニュー

オンライン状況

46 人のユーザが現在オンラインです。 (33 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 45
balisys もっと...

サイト内検索

質問 > フロント機能 > 4系 お問い合わせフォームにチェックボックス追加

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
webtamago
投稿日時: 2019/12/11 15:30
対応状況: −−−
常連
登録日: 2014/5/22
居住地:
投稿: 32
4系 お問い合わせフォームにチェックボックス追加
[EC-CUBE] 4.0.3
[レンタルサーバ] Xserver
[PHP] 7.1.28
[データベース] MySQL 5.7.27


お問い合わせにチェックボックスを複数追加をしたいです。

src/Eccube/Form/Type/Front/ContactType.php
ファイルを編集しております。

-------------------------------------------------------------
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
-------------------------------------------------------------

を追加し

-------------------------------------------------------------
->add('doctypes', CheckboxType::class, [
'choices' => [
'商品について' => 0,
'商品について' => 1,
'商品について' => 2,
],
'mapped' => false,
'constraints' => [
new Assert\NotBlank(),
],
])
-------------------------------------------------------------

と設定をし
コントローラー側で

-------------------------------------------------------------
$builder->setData(
[
'name01' => $user->getName01(),
~~~~~~~~
'doctypes' => $user->getDoctypes(),
]
);
-------------------------------------------------------------
を追加しました。

-------------------------------------------------------------
<dd>
<div class="ec-checkbox{{ has_errors(form.doctypes) ? ' error' }}">
{{ form_widget(form.doctypes) }}
{{ form_errors(form.doctypes) }}
</div>
</dd>
-------------------------------------------------------------

テンプレート側に上記のように設置しましたがエラーがでます。
-------------------------------------------------------------
The option "choices" does not exist. Defined options are: ***************
-------------------------------------------------------------

複数のチェックボックスを設置したい場合どのような形で実装できますでしょうか。

お手数ですがご教授いただけますと幸いです。










umebius
投稿日時: 2019/12/11 16:54
対応状況: −−−
登録日: 2016/7/22
居住地: 東京日本橋
投稿: 1649
Re: 4系 お問い合わせフォームにチェックボックス追加
チェックボックスを複数表示したい場合は、
CheckBoxTypeではなく、ChoiceTypeヘexpandedとmultipleというオプションを付けると実現できます。



use Symfony\Component\Form\Extension\Core\Type\ChoiceType;


->add('doctypes', ChoiceType::class, [
'choices' => [
'商品について' => 0,
'商品について' => 1,
'商品について' => 2,
],

'expanded' => true,
'multiple' => true,
'mapped' => false,
'constraints' => [
new Assert\NotBlank(),
],
])



下記が参考になるかと思います。
https://symfony.com/doc/3.4/reference/forms/types/choice.html

ご承知だとは思いますが、配列で同じキーは使えないと思いますのでご注意ください。

[
'商品について' => 0,
'商品について' => 1,
'商品について' => 2,
]


----------------
EC-CUBE4系 カスタマイズ ECのプロがシステム特急案件承ります。
EC-CUBE開発 リモートで働くエンジニア募集中

webtamago
投稿日時: 2019/12/11 18:45
対応状況: 解決済
常連
登録日: 2014/5/22
居住地:
投稿: 32
Re: 4系 お問い合わせフォームにチェックボックス追加
umebius 様

ご教授誠にありがとうございます!

ご提示いただいたコードで無事思い通りのことができそうです。

迅速なご回答誠にありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は64,425名です
総投稿数は97,254件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
468
2494
4
nanasess
2089
5
umebius
1649
6
yuh
1612
7
red
1411
8
h_tanaka
1029
9
fukap
907
10
tsuji
863
11
shutta
835
12
tao_s
792
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.