質問 > 管理機能 > 4系 問い合わせフォームにチェックボックスの実装 |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
C.C.A |
投稿日時: 2024/2/2 16:56
対応状況: −−−
|
新米 登録日: 2020/11/2 居住地: 投稿: 9 |
4系 問い合わせフォームにチェックボックスの実装 問い合わせフォームにチェックボックスを実装しました。
お客様が選択した複数の値を問い合わせメールで送信する際に、以下のスレッドを参考にしましたが、メールでは空欄が送信されてしまいます。 どなたか実装方法をご教示いただけませんでしょうか。 https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=23138&forum=10 該当部分のコードは以下となります。 <dd> {{ form.category_id.vars.data|join(',') }} {% for subForm in form.category_id %} {% if subForm.vars.checked %} {{ subForm.vars.data }} {{ form_widget(subForm, { type : 'hidden'}) }} {% endif %} {% endfor %} </dd> |
mcontact |
投稿日時: 2024/2/2 17:03
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1526 |
Re: 4系 問い合わせフォームにチェックボックスの実装 フォームを追加しただけでは、メール送信内容には反映されないのでメール送信内容であるテンプレート側も修正しない限りは、フォームに追加した項目は空欄でのメール送信になります。
下記当たりのプログラムにてメール送信しています。 https://github.com/EC-CUBE/ec-cube/blob/4.3/src/Eccube/Service/MailService.php#L293-L346
|
C.C.A |
投稿日時: 2024/2/2 17:27
対応状況: −−−
|
新米 登録日: 2020/11/2 居住地: 投稿: 9 |
Re: 4系 問い合わせフォームにチェックボックスの実装 ありがとうございます。
メール送信のためにcontact_mail.html.twigに以下を追記しています。 <dl style="display: flex;border-bottom: 1px dotted #ccc;margin: 0;"> <dt style="padding-top: 14px;width: 30%;"><label class="ec-label">ご希望のカテゴリ</label></dt> <dd style="width: 70%;line-height: 3;">{{ data.subForm }}</dd> </dl> 作成したsubFormの値を送信すれば良いのかと思い上記のようにしています。 subFormのデータはMailService.phpのformDataの中には受け継がれないのでしょうか。 |
mcontact |
投稿日時: 2024/2/2 17:42
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1526 |
Re: 4系 問い合わせフォームにチェックボックスの実装 > メール送信のためにcontact_mail.html.twigに以下を追記しています。
contact_mail.html.twigですと、HTMLメール向けですのでテキストメールには対応しません。 Mail/contact_mail.twigのファイルがテキストメールですので、確認してみてください。 subFormの値が引き継がれているかどうかは、
の後あたりなら、dump関数で$formDataの変数を調べることができます。 確認してみてください。
|
C.C.A |
投稿日時: 2024/2/2 17:55
対応状況: −−−
|
新米 登録日: 2020/11/2 居住地: 投稿: 9 |
Re: 4系 問い合わせフォームにチェックボックスの実装 ご返信ありがとうございます。
使用しているのはHTMLメールだと思われるため、HTMLメールのテンプレートを変更してみました。 念の為テキストメールのテンプレートも変更してみましたが、結果として空欄が送られていました。 そもそもこのsubFormを使用する形ではない方法で実装するべきでしょうか。 度々ですみませんが、何か方法がございましたらご教示いただけますと助かります。 |
mcontact |
投稿日時: 2024/2/2 19:14
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1526 |
Re: 4系 問い合わせフォームにチェックボックスの実装 > そもそもこのsubFormを使用する形ではない方法で実装するべきでしょうか。
subFormは変数名であるだけであり、subFormを使用するかしないかは開発者が決めればいいだけです。 ただし、subFormという変数名が何を意味しているかは元のコードまで遡って確認しないと分からないのは変数名の命名としてはコードを読みやすいかどうかははっきりと言って読みにくいと言わざる負えないと思います。
|
tattsu |
投稿日時: 2024/2/3 13:40
対応状況: −−−
|
仙人 登録日: 2023/12/23 居住地: 投稿: 357 |
Re: 4系 問い合わせフォームにチェックボックスの実装 まず前提として、メールテンプレートでformは使えません。(そもそも変数として渡されていませんので)
ここに書くのも難しいですがいくつか書いておきますね。 1. 参考スレッドにある 'mapped' => false,はまず今回の場合、要らないと思います。あるとデータが渡されないです。 2. 1を修正するとメールテンプレートのdata.category_idに追加したデータが渡ってくるので、それをfor文でループさせてデータ取得するなどして表示すれば良いです(data.subFormではありません)
|
mcontact |
投稿日時: 2024/2/3 19:05
対応状況: −−−
|
神 登録日: 2022/1/22 居住地: 投稿: 1526 |
Re: 4系 問い合わせフォームにチェックボックスの実装 問い合わせフォームであれば、基本的に下記の4分類のコードのみです。
問合せのフォームにチェックボックスを追加するのであれば、FormType部とTwigのみであり 問合せフォームからメールテンプレートに反映するのであれば、Controller部とService部とTwig部のみ 改修すれば出来ます。 ●Controller部 https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Controller/ContactController.php ●Service部 https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Service/MailService.php#L290-L346 ●Twig部 https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Resource/template/default/Contact/index.twig https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Resource/template/default/Contact/confirm.twig https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Resource/template/default/Contact/complete.twig https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Resource/template/default/Mail/contact_mail.twig https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Resource/template/default/Mail/contact_mail.html.twig ●FormType部 https://github.com/EC-CUBE/ec-cube/blob/4.2/src/Eccube/Resource/template/default/Contact/complete.twig
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |