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をご利用の方はぜひお試しください。