バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > お問い合わせフォームに項目を追加したい(4系)

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mrkm
投稿日時: 2019/10/9 18:12
対応状況: −−−
新米
登録日: 2019/10/9
居住地:
投稿: 4
お問い合わせフォームに項目を追加したい(4系)
[EC-CUBE] 4.0.2
[レンタルサーバ] Xserver
[PHP] 7.1.28
[データベース] MySQL 5.7.27
[導入プラグインの有無] 多数有
[カスタマイズの有無] 多数有

[現象]
お問い合わせフォームに、項目を追加したいと考えております。
以下の内容でセレクトボックスまたはラジオボタンを追加したいのですが、編集する箇所等がわかりません。
大変恐縮ですがご教授いただければ幸いです。

------------------------
お問い合わせ内容
・商品について
・メルマガについて
・支払い方法について
・ご注文内容について
・その他
------------------------
h_tanaka
投稿日時: 2019/10/10 9:54
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 924
Re: お問い合わせフォームに項目を追加したい(4系)
こんな感じでしょうか。
実際に動かしてみてはいないので試してみてください。

src/Eccube/Form/Type/Front/ContactType.php

・ラジオボタン
$builder
->add('how', ChoiceType::class, [
    'choices'  => [
        '商品について' => 0,
    ],
    'required' => true,
    'multiple' => false,
    'expanded' => true,
    'mapped' => false,
    'constraints' => [
        new Assert\NotBlank(),
    ],
])


・セレクトボックス
$Selection = [0 => '商品について'];
$builder
->add('how', ChoiceType::class, [
    'required' => true,
    'choices' => $Selection,
    'multiple' => false,
    'expanded' => false,
    'mapped' => false,
    'placeholder' => 'admin.common.select',
    'constraints' => [
        new Assert\NotBlank(),
    ],
])


Contact/index.twig
Contact/confirm.twig
の変更もお忘れなく。


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

mrkm
投稿日時: 2019/10/10 11:36
対応状況: −−−
新米
登録日: 2019/10/9
居住地:
投稿: 4
Re: お問い合わせフォームに項目を追加したい(4系)
ご返答ありがとうございます。

該当のコードを差し込んだところ、システムエラーになってしまいました。
念の為確認ですが、既にある $builder の中にご教示いただいたコードをひとまずそのまま差し込む形にしていますが、お間違い無いでしょうか。
('contents'より上のものは省略しています)

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('contents', TextareaType::class, [
                'constraints' => [
                    new Assert\NotBlank(),
                ],
            ])
            ->add('how', ChoiceType::class, [
                'choices'  => [
                    '商品について' => 0,
                ],
                'required' => true,
                'multiple' => false,
                'expanded' => true,
                'mapped' => false,
                'constraints' => [
                    new Assert\NotBlank(),
                ],
            ]);
    }


------------------------
▼エラーログにはこちらが残っていました。
[2019-10-10 10:29:09] front.ERROR [7b7d1008da58974e4037a893ee983d22] [e06b199] [anon.] [Eccube\Log\Logger:log:66] - システムエラーが発生しました。 ["Could not load type \"Eccube\\Form\\Type\\Front\\ChoiceType\": class does not exist.","/home/xxxx/xxxx.jp/public_html/vendor/symfony/form/FormRegistry.php",86,"#0 /home/xxxx/xxxx.jp/public_html/vendor/symfony/form/FormFactory.php(74): Symfony\\Component\\Form\\FormRegistry->getType('Eccube\\\\Form\\\\Typ...')\n#1 /home/xxxx/xxxx.jp/public_html/vendor/symfony/form/FormBuilder.php(106): Symfony\\Component\\Form\\FormFactory->createNamedBuilder('how', 'Eccube\\\\Form\\\\Typ...', NULL, Array)\n#2 /home/xxxx/xxxx.jp/public_html/vendor/symfony/form/FormBuilder.php(269): Symfony\\Component\\Form\\FormBuilder->create('how', 'Eccube\\\\Form\\\\Typ...', Array)\n#3 /home/xxxx/xxxx.jp/public_html/vendor/symfony/form/FormBuilder.php(215): Symfony\\Component\\Form\\FormBuilder->resolveChildren()\n#4 /home/xxxx/xxxx.jp/public_html/src/Eccube/Controller/ContactController.php(81): Symfony\\Component\\Form\\FormBuilder->getForm()\n#5 /home/xxxx/xxxx.jp/public_html/vendor/symfony/http-kernel/HttpKernel.php(151): Eccube\\Controller\\ContactController->index(Object(Symfony\\Component\\HttpFoundation\\Request))\n#6 /home/xxxx/xxxx.jp/public_html/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#7 /home/xxxx/xxxx.jp/public_html/vendor/symfony/http-kernel/Kernel.php(200): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#8 /home/xxxx/xxxx.jp/public_html/index.php(74): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#9 {main}"] [GET, /contact, 125.199.240.94, https://www.xxxx.jp/, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36]
h_tanaka
投稿日時: 2019/10/10 11:38
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 924
Re: お問い合わせフォームに項目を追加したい(4系)
クラスに次を追加してください。

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


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

mrkm
投稿日時: 2019/10/10 13:09
対応状況: −−−
新米
登録日: 2019/10/9
居住地:
投稿: 4
Re: お問い合わせフォームに項目を追加したい(4系)
ありがとうございます!
クラスに追加することでシステムエラーはなくなりました。

Mail/contact_mail.html.twig
Mail/contact_mail.twig
ただ、お問い合わせ送信後に送られてくる自動送信メール用にこちらにも追加しようと思いましたが、
以下の文では取得をすることができませんでした。
こちらの対応も可能でしょうか?

お問い合わせ項目:{{ data.how }}


ちなみにセレクトボックスで対応しようと思っておりますが、
$Selection = [0 => '商品について'];
こちらの部分を
$Selection = ['商品について' => '商品について'];
に変更いたしました。
h_tanaka
投稿日時: 2019/10/10 14:17
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 924
Re: お問い合わせフォームに項目を追加したい(4系)
app/template 配下のものを修正されていますか?
http://doc4.ec-cube.net/design_template


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

mrkm
投稿日時: 2019/10/10 14:44
対応状況: −−−
新米
登録日: 2019/10/9
居住地:
投稿: 4
Re: お問い合わせフォームに項目を追加したい(4系)
ありがとうございます。
はい、そちらのデータを修正しております。
送信されるメールには

お問い合わせ項目
とだけ記載されており、{{ data.how }}こちらの値が取得できていないような状態です。
jiraporn
投稿日時: 2019/10/10 21:20
対応状況: −−−
新米
登録日: 2019/10/10
居住地:
投稿: 6
Re: お問い合わせフォームに項目を追加したい(4系)
The promotions that we have selected are the best promotions. Special privileges like no other And like no other For everyone to use the service in the morning, late afternoon, late with a special privilege to recommend friends to receive bonuses Deposit continuously for a full week and receive more bonuses. Very promotions. Fully satisfying in every moment.


สล็อต
h_tanaka
投稿日時: 2019/10/13 12:39
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 924
Re: お問い合わせフォームに項目を追加したい(4系)
デバッグしないとわからないですね。。

src/Eccube/Service/MailService.php
sendContactMail() 関数内の $formData をデバッグモードで出力してみてください。
dump($formData);


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は51,044名です
総投稿数は93,521件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1984
4
468
1860
5
yuh
1604
6
red
1353
7
umebius
1296
8
h_tanaka
924
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

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