バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > FormTypeのカスタマイズ

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
投稿日時: 2019/12/16 8:39
対応状況: −−−
FormTypeのカスタマイズ
[EC-CUBE] 4.0.2
[OS] CentOS 7
[PHP] PHP 7.1.30
[データベース] PostgreSQL 10.9
[WEBサーバ] Apache/2.4.6

FormExtension を使ったフォームの追加では無く、処理自体を追加する方法についてお尋ねします。
例えば、
./src/Eccube/Form/Type/Shopping/ShippingType.php の buildForm() の addEventListener() に処理を追加したいと思った場合、
./app/Customize/Form/Extension/ にShippingTypeをオーバーライドするのでは無く、./src/Eccube/Form/Type/Shopping/ShippingType.php に直接手を入れることになるのでしょうか?


リポジトリの場合ですが、以下で似たような質問を見つけたので質問させて頂いた次第です。
https://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=21455&forum=10

宜しくお願いします。
umebius
投稿日時: 2019/12/16 8:49
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: FormTypeのカスタマイズ
ExtensionのbuildForm内でaddEventListenerすることが可能ですので、
それで元のクラスの内容を踏まえた上でExtension側に追加したい処理を書くことができます。

addEventListenerはいくつでも記述することが可能で、優先度をつけることができます。addEventListenerの第3引数です。

public function addEventListener($eventName, $listener, $priority = 0);



ただこれで対応できない場合もあるとは思いますので、そういった場合は別の方法を考えます。


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

ゲスト
投稿日時: 2019/12/19 11:22
対応状況: −−−
Re: FormTypeのカスタマイズ
ご返信ありがとうございます。
教えて頂いた方法で試して見たいと思います。
結果報告は改めてさせて頂きます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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