バージョン選択

フォーラム

メニュー

オンライン状況

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

PR

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について

サイト内検索

質問 > その他 > TaxRuleEventSubscriver.phpでgetProduct()がnullになる

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
hmorita_j
投稿日時: 2017/3/29 11:33
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 130
TaxRuleEventSubscriver.phpでgetProduct()がnullになる
▼テンプレート
[EC-CUBE] githubの現在(2017/3/29)のmaster
[レンタルサーバ] ローカル環境
[OS] macOS Sierra 10.12.4
[PHP] php7.0
[データベース] mysql5.7
[WEBサーバ] apache2.4

[現象]
個別消費税率設定が反映されないため調べていくと、
src/Eccube/Doctrine/EventSubscriber/TaxRuleEventSubscriber.phpのpostLoad()にて、$entity->getProduct()がNULLになっていました。

        if ($entity instanceof ProductClass) {
            var_dump($entity->getProduct());←NULLになる
            $entity->setPrice01IncTax($this->taxRateService->getPriceIncTax($entity->getPrice01(), $entity->getProduct(), $entity));
            $entity->setPrice02IncTax($this->taxRateService->getPriceIncTax($entity->getPrice02(), $entity->getProduct(), $entity));
        }


通常はProductエンティティが取得できると思うのですが、、、
どのような原因が考えられるのでしょうか?
同様の現象になられた方はいらっしゃいませんでしょうか?

ちなみに、商品一覧では正常に取得できるのですが、商品詳細では取得できません。
h_tanaka
投稿日時: 2017/3/29 12:01
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 341
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
その処理が走る前のページにおいて、商品規格が存在する商品なのに商品規格が表示または設定されていないと思われます。
hmorita_j
投稿日時: 2017/3/29 12:12
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 130
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
商品規格は存在しない商品なんです。
デフォルトのパーコレーターです。
h_tanaka
投稿日時: 2017/3/29 12:17
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 341
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
うーん、なんでしょう・
src/Eccube/Controller/ShoppingController.php(1311行目)
にセットしている処理があるのでデバッグしてみてください。
hmorita_j
投稿日時: 2017/3/30 9:33
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 130
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
すみません、私が理解できていないのですが、ShoppingControllerの1311行目は以下なのですが、何をデバッグすれば良いでしょうか?


$ShipmentItem->setShipping($Shipping)
                            ->setOrder($Order)
                            ->setProductClass($ProductClass)
                            ->setProduct($Product)
                            ->setProductName($Product->getName())
                            ->setProductCode($ProductClass->getCode())
                            ->setPrice($ProductClass->getPrice02())
                            ->setQuantity($quantity);


h_tanaka
投稿日時: 2017/3/30 9:38
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 341
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
エンティティのgetProduct()がnullということは、エンティティに本来セットするはずの$Productがnull、もしくはsetProduct()がコールされていないということです。
ShoppingController.phpの1311行目でsetされている$Productは1288行目でgetしています。
さらにそこでgetされている$Productをどこでsetされているかを追って・・・
と、順に元をたどっていけば原因がつかめると思います。
h_tanaka
投稿日時: 2017/3/30 9:39
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 341
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
もっとスマートな調べ方はあるかもしれませんが、私はこの方法でデバッグしています。
hmorita_j
投稿日時: 2017/3/30 10:17
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 130
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
ShoppingControllerと今回の事象がどういう関係にあるのかがちょっとわからないので、もう一度整理させてください。

[事象]
個別税率を設定した際、特定ページで個別税率が反映されない(デフォルトの税率が反映されてしまう)

[個別税率が反映されるページ]
商品一覧
購入確認

[個別税率が反映されないページ]
商品詳細
カート

[確認したこと]
商品の税込価格はTaxRuleEventSubscriver.phpでセットされているはずだが、通常なら取得できるProductエンティティがnullとなっており、そのために該当のTaxRuleを取得できていない。
$entity->setPrice01IncTax($this->taxRateService->getPriceIncTax($entity->getPrice01(), $entity->getProduct(), $entity));

ここの $entity->getProduct()がnullになっています。




h_tanaka
投稿日時: 2017/3/30 10:26
対応状況: −−−
仙人
登録日: 2016/7/22
居住地: 愛媛県
投稿: 341
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
購入確認ではうまく反映されているのですね^^;

商品詳細ではControllerやServiceではセットしていないようです。
どこでセットされているか調べますので、お時間ください。
hmorita_j
投稿日時: 2017/3/30 10:28
対応状況: −−−
一人前
登録日: 2017/3/3
居住地: 沈黙の巨大都市松戸
投稿: 130
Re: TaxRuleEventSubscriver.phpでgetProduct()がnullになる
すみません!
ありがとうございますm(_ _)m
(1) 2 3 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 



ログイン


EC-CUBEペイメント

クレジットカード情報の非保持化対応

統計情報

総メンバー数は20,134名です
総投稿数は83,254件です

投稿数ランキング

1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1655
4
yuh
1418
5
red
1067
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
784
10
468
753
11
umebius
712
12
tao_s
651
13 sumida 638
14
homan
633
15 karin 630
16 DELIGHT 571
17
patapata
502
18
flealog
483
19 tonton 436
20
ecbg
387


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© LOCKON CO.,LTD. All Rights Reserved.