バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > お支払い方法のリストタグを変更したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tawaba
投稿日時: 2020/4/14 21:41
対応状況: −−−
半人前
登録日: 2019/5/27
居住地:
投稿: 12
お支払い方法のリストタグを変更したい
▼テンプレート
[EC-CUBE] 3系
[レンタルサーバ] エックスサーバー
[OS] mac os X
[PHP] 最新
[データベース] mysql最新
[WEBサーバ] FTP
[ブラウザ] chrome

[現象]
支払い方法の表示を、selectタグに変えたいです。
この支払い方法のリストが、動的に吐き出されているのですが、どのようにしてliタグの中にlabelタグがdomが生成されているか知りたいです。
どこかのcontlolerと紐づいているのでしょうか?
/app/template/任意テンプレート/Shopping/index.twig

ご教示よろしくお願いいたします!

<div id="payment_list" class="column">
                        <div id="payment_list__body" class="form-group">
                            <ul id="payment_list__list" class="payment_list">
                            {% for key, child in form.payment %}
                            <li>
                                {{ form_widget(child, {'attr': {'class': 'payment' }}) }}
                                {% if form.payment.vars.choices[key].data.payment_image is not null %}
                                <img src="{{ app.config.image_save_urlpath }}/{{ form.payment.vars.choices[key].data.payment_image }}">
                                {% endif %}
                            </li>
                            {% endfor %}
                            {{ form_errors(form.payment) }}
                            </ul>
                        </div>
                    </div>
468
投稿日時: 2020/4/15 10:26
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: お支払い方法のリストタグを変更したい
formの部品はsymfonyのFormTypeの仕組みを利用しています。
(UIや入力値チェックの定義を1か所で管理)

ECCUBE3ではFormTypeの定義に関連するクラスは
/src/Eccube/Form/Type以下に
各入力フォーム毎のファイルが保存されています。

上記の理由から、フォームに関する変更を加えたい場合は
ある程度symfony FormTypeの理解が必要となります。

今回は/Shoppingで利用されている入力フォームですので
ShoppingType.phpが対象のファイルとなります。
(対象ファイルの探し方は少し分かりにくくて、
 Controllerクラス等で$app['form.factory']->createBuilder('******');を実行している所を確認 → FormTypeクラスのfunction getName()で返却している値が******と一致するかどうか。という方法になります)

あと支払方法をselectタグに変更する方法ですが2箇所変更が必要と思います。
1つ目はShoppingType.phpの
$builder->add('payment'~)の部分が支払方法の入力フォームの定義ですので、ここを変更していく必要があります。
多分、'expanded' => true,の記述を削除するとselectでの定義に変わると思います。

2つ目は投稿いただいたindex.twigの
{% for key, child in form.payment %}
~
{% endfor %}

の部分を
{{ form_widget(form.payment ) }}

に変更する必要があると思います。

/Shopping/index.twigの支払方法は少し特殊で支払方法の画像も表示できるようにforでループをしているのだと思いますが
それを無効にして入力フォームだけに変更します。

これで見た目は変わると思うのですが
購入処理が正常に動作するかどうかまでは分かりませんので
もしもの時は戻せるようにバックアップを取ってから変更してみてください。
 


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

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


 



ログイン


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

統計情報

総メンバー数は89,080名です
総投稿数は110,028件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1649
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.