バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 商品の価格計算ロジックを会員ごとに算出するように変更したい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
shima01
投稿日時: 2020/4/23 15:41
対応状況: −−−
新米
登録日: 2020/3/4
居住地:
投稿: 6
商品の価格計算ロジックを会員ごとに算出するように変更したい
[EC-CUBE] EC CUBE 4.0.3(カスタマイズ中)
[レンタルサーバ] ローカル開発環境
[OS] Windows10
[PHP] PHP 7.1.4
[データベース] postgresql 11.7
[WEBサーバ] ローカル開発環境
[ブラウザ] GoogleChrome
[導入プラグインの有無] なし
[カスタマイズの有無] あり
[現象]

製品の価格計算ロジックを変更したいと考えております。

Twig上やAddCartType.php内でmin_price()等を経由して、Eccube\Entity\Product::_calc()内で、同一商品の各商品規格の取りまとめを行っていることまでは把握しております。

そこで、Productクラス内でTokenStorageInterfaceクラスや別個のRepositoryクラスを用いて、会員ごとに表示する商品価格が違って見えるような実装を行いたいと考えています。

ただ、具体的にProductクラス内でTokenStorageInterfaceクラス等を使用するにはどうすればいいか、という点で現在困っております。

商品価格算出の際には、コンストラクタを通らないため、コンストラクタを用いた依存性の注入ができないと考えています。
そこで、他にどのような方法があるかについて、何かご存じでしたら教えていただければ幸いです。
468
投稿日時: 2020/4/24 12:14
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 商品の価格計算ロジックを会員ごとに算出するように変更したい
私も以前、会員ごとに販売価格を変更したいという案件に対応した際、
同じようなところで悩みましたが、
結局、Entityのメソッド内でログインユーザーの情報を利用して価格を判定するという事は実現できず、Entity外のロジックにて対応しました。

私が色々調べた限りでは、
そもそもフレームワークの設計思想として
Entity自身に他のEntityやグローバルなデータとの連携が想定されているのでしょうか?
あくまでEntityは単一完結する事が望まれており、求めている機能は実装できないようになっているのではないかと思いました。


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

shima01
投稿日時: 2020/4/24 16:44
対応状況: −−−
新米
登録日: 2020/3/4
居住地:
投稿: 6
Re: 商品の価格計算ロジックを会員ごとに算出するように変更したい
468様

お返事ありがとうございます。
私の方では、Entityクラスのメソッド内で、TokenStorageInterfaceを用いてログインユーザを割り出し、カスタマイズにより新規追加したテーブルを使用するRepositoryクラスのメソッドを用いて、ユーザの分類ごとに商品価格を取り出したいと考えておりました。

やはりおっしゃる通り、フレームワークの都合上、Entity上のメソッドで他のEnityやRepository等のクラスと連携することはできないのですね。
そうなると私の考えている上記の方法では、実際に実装することができなさそうですね。
ありがとうございます。

468様が同様に価格を判定するロジックを対応された際、Entity外のロジックで対応されたとのことですが、具体的にどのように実装を行われましたでしょうか?
差し支えなければ、教えていただけましたら幸いです。
468
投稿日時: 2020/4/27 10:25
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 3217
Re: 商品の価格計算ロジックを会員ごとに算出するように変更したい
私が対応した方法としては、Customerクラスより割引率を返すメソッドを追加して、
セッションから取り出したCustomerクラスの割引率と商品金額をtwig上とカート投入処理、商品購入フロー内で都度計算するようにしました。


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

shima01
投稿日時: 2020/4/27 10:35
対応状況: −−−
新米
登録日: 2020/3/4
居住地:
投稿: 6
Re: 商品の価格計算ロジックを会員ごとに算出するように変更したい
なるほど、かしこまりました。
参考にさせていただきます。
ありがとうございます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1286
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.