バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 各支払方法に注意書きを掲載したい。

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tak245ga
投稿日時: 2019/10/9 21:41
対応状況: −−−
半人前
登録日: 2019/7/3
居住地:
投稿: 23
各支払方法に注意書きを掲載したい。
[EC-CUBE] 4.0系

ご注文手続き画面の「お支払方法」で、各支払方法に注意書きを掲載したいです。
例えば、銀行振り込みなら「※振込み手数料はお客様ご負担となります。※入金確認後の出荷となります。」のようなもので、各支払方法に掲載したいです。

元からある画像挿入機能を使ってテキストを画像化して掲載してみたのですが、PCにフォントサイズを合わせるとスマホでは見づらいなどレスポンシブの事を考えるとちょっと使いにくいです。


色々調べていて以下のサイトを見ました。
https://busilab.com/php/ec-cube/select_payment.html

4系の場合、ページ管理より「商品購入/遷移」のページを修正ですよね。

<div class="ec-radio">
 {% for key, child in form.Payment %}
  <div style="display: block;">
   {% set Payment = form.Payment.vars.choices[key].data %}
   {{ form_widget(child, { 'attr': { 'data-trigger': 'change' }}) }}
   {% if Payment.payment_image is not null %}
    <p><img src="{{ asset(Payment.payment_image, 'save_image') }}"></p>
   {% endif %}
  </div>
 {% endfor %}
</div>

この部分を修正すればいいというのはなんとなくわかりました。
4系の場合、支払方法はIDで管理でしょうか?
画像の<P>のendifの次の行に、銀行振り込みのIDが3の場合、
{% if "支払い方法のIDが3だったら"%}<br />※振込み手数料はお客様ご負担となります。<br />※入金確認後の出荷となります。{% endif %}

とすればうまくいくでしょうか?
もしこれでうまくいくようでしたら、「"支払い方法のIDが3だったら"」というのはどのようにしたらよいでしょうか?
nanasess
投稿日時: 2019/10/10 11:01
対応状況: −−−
登録日: 2006/9/9
居住地: 宝塚
投稿: 2016
Re: 各支払方法に注意書きを掲載したい。
{% if Payment.id == 3%} でいかがでしょう?


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

tak245ga
投稿日時: 2019/10/10 11:45
対応状況: −−−
半人前
登録日: 2019/7/3
居住地:
投稿: 23
Re: 各支払方法に注意書きを掲載したい。
返答ありがとうございます!

自分で適当に試してみたのですが、
{% if Payment == "銀行振込" %}〜〜{% endif %}
でも出来ました。
ただ、この方法では、支払い方法の表記を変えたときに正常に動かなくなるのであまりお勧めできる方法ではないですよね…
{% if Payment.id == 3 %}〜〜{% endif %}
の書式で作り直しました。


続きなのですが…
支払い方法または発送方法を選択後、お問い合わせにも注意書きを掲載できればと思いました。
お問い合わせフォームの上に
{% if Payment.id == 3 %}〜〜{% endif %}
を置いてみたのですが、こちらは何も表示してくれませんでした。
{% for key, child in form.Payment %}〜{% endfor %}の外に出てしまうと使えなくなるという感じなのでしょうか…

ならばという事で、
{% if Payment.id == 3 %}{% set Payment_tag = 3 %}〜{% endif %}
{% if Payment.id == 4 %}{% set Payment_tag = 4 %}〜{% endif %}
として、問い合わせ下に
{% if Payment_tag == 3 %}ここに表示[3-銀行]{% endif %}
{% if Payment_tag == 4 %}ここに表示[4-代引]{% endif %}
としてみたのですがこれまた失敗です。

{% set Payment_tag = 3 %}という書き方が間違ってるとは思いますが…
この場合はどうしたらできそうでしょうか?
nanasess
投稿日時: 2019/10/10 12:01
対応状況: −−−
登録日: 2006/9/9
居住地: 宝塚
投稿: 2016
Re: 各支払方法に注意書きを掲載したい。
for の外に {% set Payment_tag = 0 %} を書いておくといかがでしょう?

ご参考
https://qiita.com/J_Sugar__/items/976f3da76becaca4debb


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

tak245ga
投稿日時: 2019/10/10 12:18
対応状況: −−−
半人前
登録日: 2019/7/3
居住地:
投稿: 23
Re: 各支払方法に注意書きを掲載したい。
返答ありがとうございます!

やってること自体には間違えは無かったんですね。

ただ、for の外に出しても良いのでしょうか?
お問合せ部分の注意書きも各支払方法ごとに違うメッセージを出したいです。
なので、ifの中に入れて
「3(銀行振り込み)を選択したら変数を3にセットして「発送は振込確認後に…」と表示」
「4(代引)を選択したら変数を4にセットして「代引は〜」と表示」
のようにしないといけないのではと思ったのですが…


あ、参考サイトにある
「もちろんforループ内でグローバル変数にアクセスできます。 しかし、forループ内で新たに宣言された変数はローカル変数になるため、外からはアクセスできません。」
これですね?
しかし、「ローカルスコープにて、グローバル変数に値を再セットしてみる」の仕組みがよく解りません。

{% if Payment.id == 3 %}
  {% block block_A %}
   {% set Payment_tag = 3 %}
  {% endblock %}
 〜
{% endif %}

としたら外に出せるのでしょうか?


追記
この方法では出来ませんでした…
tak245ga
投稿日時: 2019/10/11 10:47
対応状況: 解決済
半人前
登録日: 2019/7/3
居住地:
投稿: 23
Re: 各支払方法に注意書きを掲載したい。
方法はわかって実際動作もしたのですが、自分がしたいイメージ通りの動作はしなかったのでいったん終了します。
(各支払方法をチェックした段階でメッセージの変化を起こしたいのに、この方法ではそのようにならないですよね)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は54,509名です
総投稿数は94,237件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
2016
4
468
1920
5
yuh
1610
6
umebius
1418
7
red
1376
8
h_tanaka
940
9
fukap
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
781
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 437


ネットショップの壺

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

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