EC-CUBE3のショッピングカートを見てみると税込みの商品単価や税込み合計金額が表示されていますが、消費税だけの金額というのは表示がありません。
今回は消費税の合計額を簡単にショッピングカートへ表示する方法をご紹介いたします。
※最初の状態
src/Eccube/Entity/Cart.php
普通にカスタマイズしている分にはあまり修正しないファイルですが、注文の金額計算方法を変えたい時など複雑なカスタマイズをするときにはお世話になることもあるクラスです。
このCartエンティティに消費税合計額を計算するメソッドを追加しておきます。
/** * @return integer * @see https://umebius.com/eccube/show-tax-amount-in-shopping-cart/ */ public function getTotalTax() { $totalTax = 0; foreach ($this->CartItems as $CartItem) { $totalTax += ($CartItem->getObject()->getPrice02IncTax() - $CartItem->getObject ()->getPrice02()) * $CartItem->getQuantity(); } return $totalTax; }
template/Cart/index.twig
あとはカートのテンプレートファイルにこのメソッドの計算結果を表示してやるだけです。
合計金額の上あたりに表示してあげましょう。
<dl id="total_box__total_price" class="total_price"> <dt>税額:</dt> <dd class="text-primary">¥{{ Cart.total_tax|number_format }}</dd> <dt>合計:</dt> <dd class="text-primary">¥{{ Cart.total_price|number_format }}</dd> </dl>
※カスタマイズ後
いかがでしたでしょうか。税計算は最初戸惑いますが、慣れると自由にカスタマイズできるようになってきます。
EC-CUBE3をご利用の方はぜひお試しください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。