質問 > 管理機能 > 配送料の計算を変更したい |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
umebius |
投稿日時: 2019/4/6 23:37
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 配送料の計算を変更したい そうですね、getNewDetailsの前だからです。
ですので、getNewDetailsの後で、もう一度個数計算してみてはいかがでしょうか? あるいはShippingエンティティに集計メソッド作って置けば良いと思います。CartエンティティのgetTotalQuantityのような形で。
|
mii |
投稿日時: 2019/4/6 10:16
対応状況: −−−
|
半人前 登録日: 2019/2/21 居住地: 投稿: 21 |
Re: 配送料の計算を変更したい ありがとうございます、確認してみました。
一応下記式に置き換えてみたのですが、やはり0になるのは$this->getNewDetailsの前だからという理由ですよね? $itemQuantity = 0; $shipmentItems=$Shipping->getShipmentItems(); foreach ($shipmentItems as $ShipmentItem) { $itemQuantity += $ShipmentItem->getQuantity(); } $Shipping->setShippingDeliveryKosu($itemQuantity); 個数を計算の必須条件にするとなると、どっかから引っ張ってくるってことになると思いますが、適切なのはカートとかでしょうか |
umebius |
投稿日時: 2019/4/6 9:22
対応状況: −−−
|
神 登録日: 2016/7/22 居住地: 投稿: 2085 |
Re: 配送料の計算を変更したい カートから確認画面へ移動した時、ShoppingServiceのregisterPreOrder内でShippingが生成されますが
$Order = $this->getNewDetails($Order);が呼ばれるまで個数の情報は入っていません。 カートから移動した時にsetShippingDeliveryFeeが呼ばれるのはその1つ前のgetNewShippingだから0なのではないでしょうか(ちゃんと確認してませんが) また、Shipping内の個数を取得するならOrderDetailではなく、ShipmentItemから個数とった方が良いかもしれません。
|
mii |
投稿日時: 2019/4/6 9:12
対応状況: −−−
|
半人前 登録日: 2019/2/21 居住地: 投稿: 21 |
配送料の計算を変更したい [EC-CUBE]3.017
[レンタルサーバ]ロリポップ [OS]Win10 [PHP]5.6 [データベース]MySQL5.6 カスタマイズで、Eccube/Service/ShopingService.php内にて思う値が取れない状態でして、ご質問させていただきます。(ShoppingController.phpにも類似記述してる、省略) カートからレジに移動間の計算で、Eccube/Entity/Shippingへ項目を追加しています。(名前:Kosu) 入れたい値は商品の個数合計(複数注文の場合はそれぞれの注文での個数合計)で、個数を取得できたらこれを元にいろいろ式をいじりたいのですが、今のところ0で取得できていません。以下の関数を修正して試しました ShopingService.php内下記部位 public function setShippingDeliveryFee(Shipping $Shipping, Delivery $Delivery = null,Order $Order = null) {/*←$Order追加*/ (省略) $Shipping->setShippingDeliveryFee($deliveryFee->getFee() + $productDeliveryFeeTotal); if(!empty($Order)){ /*↓ここから追加*/ $OrderDetailItems=$Order->getOrderDetails(); $itemQuantity=0; foreach($OrderDetailItems as $OrderDetailItem){$itemQuantity+=$OrderDetailItem->getQuantity();} $Shipping->setShippingDeliveryKosuu($itemQuantity); } } |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |