質問 > フロント機能 > Formのラジオボタンの選択状態を取得したい |
フロント機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
Ringo |
投稿日時: 2018/8/30 19:42
対応状況: −−−
|
常連 登録日: 2018/8/10 居住地: 投稿: 70 |
Re: Formのラジオボタンの選択状態を取得したい >{% if form.payment.vars.value == form.payment.vars.choices[key].value %}
>を >{% if form.payment.vars.value == form.payment.vars.choices[key].label %} > >変えて動作致しました! 修正 '18.08.31 と言う事で、確認し 3.0.11〜 は、 {% if form.payment.vars.value == form.payment.vars.choices[key].value %} ですが、 3.0.10は、 ですね。 {% if form.payment.vars.value.id == form.payment.vars.choices[key].value %} の様です。 失礼しました。 |
TAT |
投稿日時: 2018/8/30 10:03
対応状況: −−−
|
新米 登録日: 2018/8/18 居住地: 投稿: 5 |
Re: Formのラジオボタンの選択状態を取得したい Ringo様
お返事が遅くなってしまいましたが、試行錯誤の末ようやく希望の挙動になりました! 私の環境では {% for key, child in form.payment %} {% if form.payment.vars.value == form.payment.vars.choices[key].value %} <p id="summary_box__confirm_button"><button id="order-button" type="submit" class="btn btn-primary btn-block prevention-btn prevention-mask">{{ form.payment.vars.choices[key].label }}で注文する</button></p> {% endif %} {% endfor %} の部分の {% if form.payment.vars.value == form.payment.vars.choices[key].value %} を {% if form.payment.vars.value == form.payment.vars.choices[key].label %} 変えて動作致しました! 本当に助かりました! ありがとうございます。また何かありましたら宜しくお願い致します。 |
Ringo |
投稿日時: 2018/8/25 15:09
対応状況: −−−
|
常連 登録日: 2018/8/10 居住地: 投稿: 70 |
Re: Formのラジオボタンの選択状態を取得したい >やはりエラーでページが表示されなくなりましたのでデバッグモードで表示、以下のスクリーンショットの状態になりました。
{{ dump(form.payment) }} は「index_dev.php」を介さないと、
が発生する様です。 >2つ質問があるのですが、 >1.{% if form.payment.vars.value == form.payment.vars.choices[key].value %}を何か任意の取得したい値に変えないといけないでしょうか? → 訂正:’18.08.30、'18.08.31 3.0.11〜 は、 {% if form.payment.vars.value == form.payment.vars.choices[key].value %} ですが、 3.0.10は、 {% if form.payment.vars.value.id == form.payment.vars.choices[key].value %} の様です。 例えば「銀行振込」選んだ場合、 3.0.11〜は form.payment.vars.valueは↓ FormView {#7437 ▼ +vars: array:41 [▼ "value" => "3" form.payment.vars.choices[key].valueは↓ "choices" => array:2 [▼ 3 => ChoiceView {#2443 ▼ +attr: [] +label: "銀行振込" +value: "3" +data: Payment {#2121 ▶ …2} } 3.0.10は form.payment.vars.value.idは↓ FormView {#2362 ▼ +vars: array:41 [▼ "value" => Payment {#1957 ▼ +__isInitialized__: true -id: 3 form.payment.vars.choices[key].valueは↓ "choices" => array:4 [▼ 3 => ChoiceView {#2278 ▼ +attr: [] +label: "銀行振込" +value: "3" +data: Payment {#1957 ▶ …2} で「value」と「value」or「id」と「value」が一致した「label」を表示する、 form.payment.vars.choices[key].label です。 >2.{% for key, child in form.payment %}は >引用: >(略) > >のラジオボタンセレクタ自体にも使われているのですが、dumpしたデータの取得(ボタンの表示の箇所)にも使えるという認識で正しいでしょうか? 多分、ここの理解が不十分なのだと思います。 {% for key, child in form.payment %} での「key」の値は {% endfor %} で「消失」します。 ですから、
として、 <div class="priceBox4"> 内にて、再度、 {% for key, child in form.payment %} {% endfor %} としている訳です。 >ただ、デバッグモードでもボタンそのものが表示されない為、dumpした情報を拾えていない模様です。 訂正:3.0.10→3.0.11にて、一致条件が変更されていました。 こちらの手元で、ボタンが表示されている、該当コードを示しておきます。
|
TAT |
投稿日時: 2018/8/25 12:34
対応状況: −−−
|
新米 登録日: 2018/8/18 居住地: 投稿: 5 |
Re: Formのラジオボタンの選択状態を取得したい tanakaさんRingoさん、ありがとうございます。
早速Ringoさんにご提示いただいたコードで試してみました。 引用: {{ dump(form.payment) }} を支払い方法セレクトの前に、 引用: {% for key, child in form.payment %} を<div class="priceBox4">の中に入れたところ、 やはりエラーでページが表示されなくなりましたのでデバッグモードで表示、以下のスクリーンショットの状態になりました。 dumpはおかげさまで動いているようで、以下のように選択中の支払い方法も拾っています。 ただ、デバッグモードでもボタンそのものが表示されない為、dumpした情報を拾えていない模様です。デバッグモードではない環境だと{{ dump(form.payment) }}を挿入した時点でページは表示されなくなりました。 2つ質問があるのですが、 1.{% if form.payment.vars.value == form.payment.vars.choices[key].value %}を何か任意の取得したい値に変えないといけないでしょうか? 2.{% for key, child in form.payment %}は 引用: <h2 class="heading02">お支払方法</h2> のラジオボタンセレクタ自体にも使われているのですが、dumpしたデータの取得(ボタンの表示の箇所)にも使えるという認識で正しいでしょうか? twigの働きをもっと勉強しないといけないのですが、あまりに初歩的な質問でしたら飛ばしていただいても構いません。 あと少しな感じがするのでなんとか動作するようにしたいと思っております。 お付き合いいただけますと助かります。 宜しくお願いいたします。 |
Ringo |
投稿日時: 2018/8/24 16:11
対応状況: −−−
|
常連 登録日: 2018/8/10 居住地: 投稿: 70 |
Re: Formのラジオボタンの選択状態を取得したい ※横から失礼します。
{{ dump(form.payment) }} は ↓辺りが見やすいかと。
銀行振込を選んだ場合: "value" => "3" +label: "銀行振込" ↓{{ dump(form.payment) }}の表示
「注文する」の判定は {% for key, child in form.payment %} で、「key」を設定しないと、 Twig_Error_Runtime in Template.php line 487: Variable "key" does not exist in "__string_template__3ff64db135867293786989cecbd6158bcc6c0b6ac1cdd64e78cd68d096a112b0" at line 355. の様なエラーとなります。 コード例
あるいは、
|
h_tanaka |
投稿日時: 2018/8/24 8:50
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: Formのラジオボタンの選択状態を取得したい 変数 key が未定義の旨のエラーですね。
デバッグモードで表示されたエラーではファイル名をダブルクリックすればファイルのパスが表示されます。 上記のエラーの場合は、__string_template__66546facd3dc809c5532f87aa92763ad2c9bc7f343f7cb5f1f6242de7fd28a99 というキャッシュファイルの 373 行目を見ればエラーが発生しているコードの場所がわかります。
|
TAT |
投稿日時: 2018/8/24 3:04
対応状況: −−−
|
新米 登録日: 2018/8/18 居住地: 投稿: 5 |
Re: Formのラジオボタンの選択状態を取得したい ありがとうございます。デバッグモードでSynfony profilerを見ると、
CRITICAL - Twig_Error_Runtime: Variable "key" does not exist in "__string_template__66546facd3dc809c5532f87aa92763ad2c9bc7f343f7cb5f1f6242de7fd28a99" at line 373 (uncaught exception) at /home/hoge/www/eccube/vendor/twig/twig/lib/Twig/Template.php line 436 Context: {"exception":"Object(Twig_Error_Runtime)"} というものと、 WARNING - skip GmoPaymentGatewayCust form events loading. config.yml not foud or invalid. という類の、GMOをスキップした旨のエラーがいくつか出てきました。 ただし、今回のdumpを記載していてもしていなくてもエラー内容は変わらないようです。 Logの見方が間違っているのかもしれませんが、これだけでは、通常モードでのシステムエラーページの原因がつかめない状態です。 もしお知恵貸していただけるようでしたら宜しくお願いいたします。 |
h_tanaka |
投稿日時: 2018/8/21 9:27
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: Formのラジオボタンの選択状態を取得したい どのようなエラーメッセージが表示されますか?
エラーログかデバッグモードでご確認ください。
|
TAT |
投稿日時: 2018/8/21 9:24
対応状況: −−−
|
新米 登録日: 2018/8/18 居住地: 投稿: 5 |
Re: Formのラジオボタンの選択状態を取得したい お返事ありがとうございます。
<div class="priceBox4"> {{ dump(form.payment) }} {% if form.payment.vars.choices[key].data.method == 'ローン決済' and form.payment.vars.value == form.payment.vars.choices[key].value %} <p id="summary_box__confirm_button"><button id="order-button" type="submit" class="btn btn-primary btn-block prevention-btn prevention-mask">ローン決済で注文する</button></p> {% else %} <p id="summary_box__confirm_button"><button id="order-button" type="submit" class="btn btn-primary btn-block prevention-btn prevention-mask">注文する</button></p> {% endif %} </div> と記述してみましたが、エラーになってしまいました。 dumpの記述場所が悪いのか、判定文が間違っているのか調べてみますが、素人間違いのご指摘があれば頂けると助かります! 引用:
|
h_tanaka |
投稿日時: 2018/8/20 9:05
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 愛媛県 投稿: 1646 |
Re: Formのラジオボタンの選択状態を取得したい TAT 様
hmorita_j 様の記述どおり次の表記をtwigで行うことでdumpできます。
|
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |