バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tak245ga
投稿日時: 2019/10/9 21:41
対応状況: −−−
半人前
登録日: 2019/7/3
居住地:
投稿: 24
各支払方法に注意書きを掲載したい。
[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
居住地:
投稿: 2313
Re: 各支払方法に注意書きを掲載したい。
{% if Payment.id == 3%} でいかがでしょう?
tak245ga
投稿日時: 2019/10/10 11:45
対応状況: −−−
半人前
登録日: 2019/7/3
居住地:
投稿: 24
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
居住地:
投稿: 2313
Re: 各支払方法に注意書きを掲載したい。
for の外に {% set Payment_tag = 0 %} を書いておくといかがでしょう?

ご参考
https://qiita.com/J_Sugar__/items/976f3da76becaca4debb
tak245ga
投稿日時: 2019/10/10 12:18
対応状況: −−−
半人前
登録日: 2019/7/3
居住地:
投稿: 24
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
居住地:
投稿: 24
Re: 各支払方法に注意書きを掲載したい。
方法はわかって実際動作もしたのですが、自分がしたいイメージ通りの動作はしなかったのでいったん終了します。
(各支払方法をチェックした段階でメッセージの変化を起こしたいのに、この方法ではそのようにならないですよね)
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,707名です
総投稿数は109,948件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1285
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.