バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > その他 > ProductClass.php のgetPrice02()でProduct情報を使いたいです

その他

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
x002dc
投稿日時: 2018/6/28 20:18
対応状況: −−−
半人前
登録日: 2018/6/27
居住地: 東京
投稿: 30
Re: ProductClass.php のgetPrice02()でProduct情報を使いたいです
同様の現象を見ると、商品詳細画面に遷移した時のお話だと思いますが、それぞれコール時の状態が異なるからかと。

1回目のコールは、

TaxRuleEventSubscriber#postLoad


2回目のコールは、

Eccube\Entity\Product#_calc


のようです。

※Procutからコールした場合にnullとならないのは、lazy loadされているからかと。


コール元は、以下のような感じで確認しました。

public function getPrice02()
{
$dbg = debug_backtrace();
dump($dbg[1]);
dump($this->Product);

return $this->price02;
}


getPrice02でのProductの利用方法がわかりませんが、単純に商品詳細の画面表示で使いたいだけであるなら、null判定でnullでない場合のみ処理してしまえば問題は発生しないと思います。


if(!is_null($this->getProduct())){
// 何らかの処理
}

もし、いずれの場合でもProductを取得したいのであれば、ちょっと強引ですが、getProduct() 内で、$this->Productをnull判定をした上でnullの場合は、ProductRepositoryからproduct_idをキーにProductを取得してしまえばいいのではないでしょうか。

※実際に試していないので、既存への影響は不明です。

参考になれば、幸いです。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   ProductClass.php のgetPrice02()でProduct情報を使いたいです 9-24 2018/6/28 15:31
   » Re: ProductClass.php のgetPrice02()でProduct情報を使いたいです x002dc 2018/6/28 20:18
       Re: ProductClass.php のgetPrice02()でProduct情報を使いたいです 9-24 2018/6/29 12:54
         Re: ProductClass.php のgetPrice02()でProduct情報を使いたいです x002dc 2018/6/29 18:40
           Re: ProductClass.php のgetPrice02()でProduct情報を使いたいです 9-24 2018/6/30 13:51

 



ログイン


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

統計情報

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

投稿数ランキング

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