質問 > フロント機能 > お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
hiromode |
投稿日時: 2017/9/24 20:44
対応状況: 開発中
|
新米 登録日: 2017/9/24 居住地: 投稿: 4 |
お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません [EC-CUBE]EC-CUBEのバージョン3.0.13、新規インストール
[レンタルサーバ]さくらインターネットビジネスプロ [OS] FreeBSD 9.1-RELEASE-p24 [PHP] 5.6.31 [データベース] Mysql 5.5.54 [WEBサーバ] Apache/2.2.34 [ブラウザ] Googlechrome 60.0.3112.113 [導入プラグインの有無] クーポンプラグイン、メルマガプラグイン [現象] お問い合わせフォームを改修しており、テキストボックスやセレクトボックスは正常に稼働するものの、チェックボックスやラジオボタンを追加すると確認画面に表示されず、メール送信ボタンを押しても入力画面に戻ってしまう状態となりました。 行ったカスタマイズは、主に項目追加として他のサイトを参考に年齢を追加しましたところ下記は正常に動きます。 ContactType.php ->add('age', 'choice', array( 'label' => '年齢', 'choices' => array('1' => '10代','2' => '20代','3' => '30代','4' => '40代','5' => '50代','6' => '60代以上'), 'required' => true, 'empty_value' => '選択してください', )) confirm.twig <dl id="confirm_box__age"> <dt>{{ form_label(form.age) }}</dt> <dd class="form-group"> {{ form_widget(form.age) }} </dd> </dl> これを元に値だけ変えて性別をsex(男性、女性という選択肢)として変えてみたところ確認画面では表示されません。 <input type="hidden" value="1" id="contact_sex" name="contact[sex]"> というようにvalueの値は取ってきてるので、メール送信は可能で表示もされておりますので、最悪JSでやってしまおうかと思ったのですが、スマートなやり方があればご教示頂けますと幸いです。 |
nyorai |
投稿日時: 2017/9/25 13:45
対応状況: −−−
|
仙人 登録日: 2015/8/21 居住地: 投稿: 302 |
Re: お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません 3.0.13では、チェックボックス等が確認画面で表示されない不具合が合ったかと思います
以下の修正を当ててみれば解消されそうな気がします。 https://github.com/EC-CUBE/ec-cube/pull/2010 |
hiromode |
投稿日時: 2017/9/25 21:21
対応状況: −−−
|
新米 登録日: 2017/9/24 居住地: 投稿: 4 |
Re: お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません ご回答誠にありがとうございます。
教えていたいた不具合にのっとり修正したところ、ラジオボタンは解消されたものの、チェックボックスは変わらず確認画面では表示されませんでした。 管理画面のキャッシュクリア、スーパーリロードは実施済みです。 ContactType.php ->add('type', 'choice', array( 'label' => 'ご使用のタイプ(複数可)', 'choices' => array('1' => 'レギュラー(ふつう)', '2' => 'コンパクト(ふつう) ', '3' => 'スリム(やわらかめ)', 'required' => false, 'multiple' => true, 'expanded' => true, )) confirm.twig <dl id="confirm_box__place"> <dt>{{ form_label(form.place) }}</dt> <dd><div class="column">{{ form_widget(form.place) }}</div></dd> </dl> 確認画面から戻るボタンを押すとチェックボックスが外れているのでその辺に原因がありそうなのですが、こちらも苦戦しておりまして、教えて頂けますでしょうか。 |
hiromode |
投稿日時: 2017/10/4 17:35
対応状況: 解決済
|
新米 登録日: 2017/9/24 居住地: 投稿: 4 |
Re: お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません 本件、自己解決致しました。
下記のようにファイルを修正したところ表示されました。 <dl id="confirm_box__place"> <dt>{{ form_label(form.place) }}</dt> <dd> <div class="column"> {{ form_widget(form.place[0]) }} {{ form_widget(form.place[1]) }} </div> </dd> </dl> P.S. 続けてメール送信の時の受け渡しが上手くいかなかったのですが、 valueの値だけはとれたので、最終的にif文による数字の決め打ちハードコーディングで間に合わせました。。汗 初めてECCUBEをカスタマイズしたので苦労しましたが無事に期日に間に合わせることができました。 また何かあれば投稿させて頂きます。 |
wa.shi |
投稿日時: 2019/2/18 12:48
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません はじめまして。
いきなり失礼します。 私も同様にカスタマイズを行っており、 投稿を読ませて頂き 問い合わせ確認ページへの受け渡しは解決しましたが、 (誠にありがとうございます・・・。) メールへの受け渡しに苦戦しており、 引用:
とのことですが、どのように解決されたのか 具体的にご教示頂けますでしょうか(T_T)? よろしくお願い致します。 |
hiromode |
投稿日時: 2019/2/18 13:26
対応状況: −−−
|
新米 登録日: 2017/9/24 居住地: 投稿: 4 |
Re: お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません このときは渡す配列に1,2,3と数字を決め打ちで振っていたので、
受け取るときの(contact_mail.twig?)では下記のように取得してメール本文に表示するようにしました。 ■年代 :{% if data.age == "1" %}10代{% elseif data.age == "2" %}20代{% elseif data.age == "3" %}30代{% elseif data.age == "4" %}40代{% elseif data.age == "5" %}50代{% elseif data.age == "6" %}60代以上{% endif %} ■場所 {% if data.place[0] == "1" %}薬局 {% elseif data.place[0] == "2" %}ドラッグストア 以下略 本来もっといい方法がありそうですがこちらで対応していました。。 |
wa.shi |
投稿日時: 2019/2/18 13:45
対応状況: −−−
|
常連 登録日: 2018/2/20 居住地: 投稿: 45 |
Re: お問い合わせフォーム内の確認画面でラジオボタン、チェックボックスの内容が表示されません 早急にご回答頂きまして
誠にありがとうございます!! keyの1,2,3…に対して ダブルクォーテーションの付け忘れが原因でした、、、 お問い合わせページについてはDBと紐づく値が少なく、 複数選択可能なチェックボックスに関しては どうしても決め打ちになってしまうのかなと感じました。 私もこのあたりは理解しきれていないので もう少し追求しようと思います。 この度は助かりました! ありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |