バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > Controllerのカスタマイズと継承

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
elmo
投稿日時: 2019/7/1 23:50
対応状況: −−−
新米
登録日: 2019/7/1
居住地:
投稿: 1
Controllerのカスタマイズと継承
商品一覧ページのカスタマイズを行っています。ProductControllerをカスタマイズする方向で実装を検討しています。

ドキュメントを読むとControllerのカスタマイズは./app/Customize/Controller/以下にファイルを設置、既存のルーティングを上書きするには@Routeの設定を上書きしたいパスと同じ名前に指定するとあります。この方法で既存の処理を自作のコントローラーに移すことはできました。

例)
app/Customize/Controller/CustomProductController.phpを設置
商品一覧を上書きするため@Route("/products/list", name="product_list")を指定


ただドキュメントの通りに実装すると、もとのコントローラーの処理が実行されません。単に上書きしただけになります。既存の動作はそのままで、一部の機能だけ追加したい、ということができません。

そこで自作したコントローラーをもとのコントローラーを継承するかたちにしました。

例)
class CustomProductController extends ProductControllerと定義
メソッドからは親を呼び出すことで既存の処理を維持 parent::index(...)


上記のやりかたは正しいのでしょうか。
他に方法はありませんか?

あるいは継承をせず、もとのソースコードを複製するのが正しいのでしょうか?
468
投稿日時: 2019/7/3 11:00
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: Controllerのカスタマイズと継承
カスタマイズの内容の詳細が分からない為、何とも言えませんが、
ご提示いただいた対応で問題は無いと思います。


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

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


 



ログイン


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

統計情報

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

投稿数ランキング

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