バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 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
居住地:
投稿: 1296
Re: 4系 問い合わせフォームにチェックボックスの実装
フォームを追加しただけでは、メール送信内容には反映されないのでメール送信内容であるテンプレート側も修正しない限りは、フォームに追加した項目は空欄でのメール送信になります。
下記当たりのプログラムにてメール送信しています。
https://github.com/EC-CUBE/ec-cube/blob/4.3/src/Eccube/Service/MailService.php#L293-L346


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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
居住地:
投稿: 1296
Re: 4系 問い合わせフォームにチェックボックスの実装
> メール送信のためにcontact_mail.html.twigに以下を追記しています。

contact_mail.html.twigですと、HTMLメール向けですのでテキストメールには対応しません。
Mail/contact_mail.twigのファイルがテキストメールですので、確認してみてください。

subFormの値が引き継がれているかどうかは、
$MailTemplate = $this->mailTemplateRepository->find($this->eccubeConfig['eccube_contact_mail_template_id']);

の後あたりなら、dump関数で$formDataの変数を調べることができます。
確認してみてください。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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
居住地:
投稿: 1296
Re: 4系 問い合わせフォームにチェックボックスの実装
> そもそもこのsubFormを使用する形ではない方法で実装するべきでしょうか。
subFormは変数名であるだけであり、subFormを使用するかしないかは開発者が決めればいいだけです。
ただし、subFormという変数名が何を意味しているかは元のコードまで遡って確認しないと分からないのは変数名の命名としてはコードを読みやすいかどうかははっきりと言って読みにくいと言わざる負えないと思います。


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

tattsu
投稿日時: 2024/2/3 13:40
対応状況: −−−
長老
登録日: 2023/12/23
居住地:
投稿: 213
Re: 4系 問い合わせフォームにチェックボックスの実装
まず前提として、メールテンプレートでformは使えません。(そもそも変数として渡されていませんので)

ここに書くのも難しいですがいくつか書いておきますね。

1. 参考スレッドにある 'mapped' => false,はまず今回の場合、要らないと思います。あるとデータが渡されないです。

2. 1を修正するとメールテンプレートのdata.category_idに追加したデータが渡ってくるので、それをfor文でループさせてデータ取得するなどして表示すれば良いです(data.subFormではありません)


----------------
-------------------
EC-CUBEカスタマイズ・バージョンアップ・不具合修正 
気軽にご相談ください。ゴールドランクパートナー。

mcontact
投稿日時: 2024/2/3 19:05
対応状況: −−−
登録日: 2022/1/22
居住地:
投稿: 1296
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


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー【ゴールド】ランク
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,908名です
総投稿数は110,006件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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