バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > カート画面の小計を税別表示にする方法

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ateshi
投稿日時: 2019/2/28 18:49
対応状況: −−−
一人前
登録日: 2016/12/21
居住地:
投稿: 114
Re: カート画面の小計を税別表示にする方法
丁寧にありがとうございます。

早速上記内容を試してみたいと思います。
ご報告までしばしお待ちを。

Ringo
投稿日時: 2019/2/28 18:13
対応状況: −−−
常連
登録日: 2018/8/10
居住地:
投稿: 70
Re: カート画面の小計を税別表示にする方法
ECCUBE3.0.17の素に対して
「カート・注文ページ・注文メールの小計金額を税別で表示」「合計の税込」
を行なった結果です。

フロント側の「税別」処理を把握していないで、フロントでの「税別」処置と干渉する箇所があれば、適時、調整願います。
一応、複数配送先での「税別」表示も確認しました。

不要な『税込』は削除してください。

「カート」
eccube-3.0.17/src/Eccube/Service/CartService.php
(「税別」化)

        // 新しい数量でカート内商品を登録する
        if (0 < $quantity) {
            $CartItem = new CartItem();
            $CartItem
                ->setClassName('Eccube\Entity\ProductClass')
                ->setClassId((string)$ProductClass->getId())
                //->setPrice($ProductClass->getPrice02IncTax())
                ->setPrice($ProductClass->getPrice02())
                ->setQuantity($quantity);

            $this->cart->setCartItem($CartItem);
        }

「注文ページ」
eccube-3.0.17/src/Eccube/Entity/OrderDetail.php
(税別化)

    /**
     * @return integer
     */
    public function getTotalPrice()
    {
        //return $this->getPriceIncTax() * $this->getQuantity();
    	return $this->getPrice() * $this->getQuantity();
    }

eccube-3.0.17/src/Eccube/Service/ShoppingService.php
(個別「税別」化後の「合計」への「消費税」加算)

    /**
     * 合計金額を計算
     *
     * @param Order $Order
     * @return Order
     */
    public function calculatePrice(Order $Order)
    {

        $total = $Order->getTotalPrice();
        // 追加
        $total += $Order->calculateTotalTax();

        if ($total < 0) {
            // 合計金額がマイナスの場合、0を設定し、discountは値引きされた額のみセット
            $total = 0;
        }

        $Order->setTotal($total);
        $Order->setPaymentTotal($total);

        return $Order;

    }
 

eccube-3.0.17/src/Eccube/Entity/ShipmentItem.php

    /**
     * @return integer
     */
    public function getTotalPrice()
    {
        //return $this->getPriceIncTax() * $this->getQuantity();
    	return $this->getPrice() * $this->getQuantity();
    }

eccube-3.0.17/src/Eccube/Resource/template/default/Shopping/index.twig

                        <dd id="cart_box_list__price--{{ loop.index }}" class="item_price">{{ orderDetail.priceIncTax|price }} × {{ orderDetail.quantity|number_format }}</dd>
                        ↓
                        <dd id="cart_box_list__price--{{ loop.index }}" class="item_price">{{ orderDetail.price|price }} × {{ orderDetail.quantity|number_format }}</dd>
(snip)
                        <dd id="shipping_box__price--{{ idx }}_{{ shipmentItem.id }}" class="item_price">{{ shipmentItem.priceIncTax|price }} × {{ shipmentItem.quantity|number_format }}</dd>
                        ↓
                        <dd id="shipping_box__price--{{ idx }}_{{ shipmentItem.id }}" class="item_price">{{ shipmentItem.price|price }} × {{ shipmentItem.quantity|number_format }}</dd>
(snip)
                         <dl id="summary_box__subtotal">
                            <dt>小計</dt>
                            <dd class="text-primary">{{ Order.subtotal|price }}</dd>
                        </dl>
                        <!-- 追加 -->
                        <dl id="summary_box__tax">
                            <dt>消費税</dt>
                            <dd class="text-primary">{{ Order.tax|price }}</dd>
                        </dl>
                        <!-- ここまで -->
 

「注文メール」
eccube-3.0.17/src/Eccube/Resource/template/default/Mail/order.twig
eccube-3.0.17/src/Eccube/Resource/template/admin/Mail/order.twig

単価: {{ calc_inc_tax(OrderDetail.price, OrderDetail.tax_rate, OrderDetail.tax_rule)|price }}
↓
単価: {{ OrderDetail.price|price }}
(snip)
小 計 {{ Order.subtotal|price }}{% if Order.tax > 0 %}(うち消費税 {{ Order.tax|price }}){% endif %}
↓
小 計 {{ Order.subtotal|price }}
消費税 {{ Order.tax|price }}

Ringo
投稿日時: 2019/2/28 12:38
対応状況: −−−
常連
登録日: 2018/8/10
居住地:
投稿: 70
Re: カート画面の小計を税別表示にする方法
注文完了メールに洩れが有りました。

eccube-3.0.17/src/Eccube/Resource/template/default/Mail/order.twig
eccube-3.0.17/src/Eccube/Resource/template/admin/Mail/order.twig

単価: {{ calc_inc_tax(OrderDetail.price, OrderDetail.tax_rate, OrderDetail.tax_rule)|price }}
↓
単価: {{ OrderDetail.price|price }}

小 計 {{ Order.subtotal|price }}{% if Order.tax > 0 %}(うち消費税 {{ Order.tax|price }}){% endif %}
↓
小 計 {{ Order.subtotal_outTaxl|price }}
消費税 {{ Order.tax|price }}


で、先の
eccube-3.0.17/src/Eccube/Entity/OrderDetail.php

    public function getPriceIncTax()
    {
        //return $this->price_inc_tax;
        return $this->price;
    }

をしてしまうと、被害が大きく
「消費税」が「0」
故、
「お支払い合計」
「合計」
に「消費税が含まれない」になってしまうので、


    public function getPriceIncTax()
    {
        return $this->price_inc_tax;
    }

に戻します。

後は「合計」を税込みにすれば良いのかも。

て、「Order.subtota_outTaxl」の算出(すでにphp内に有るも)。

「カート・注文ページ・注文メールの小計金額を税別で表示」は、切り直しとします。
Ringo
投稿日時: 2019/2/27 14:01
対応状況: −−−
常連
登録日: 2018/8/10
居住地:
投稿: 70
Re: カート画面の小計を税別表示にする方法
軽く動かした感じでは「カート・注文ページ・注文メールの小計金額を税別で表示」だけなら、

eccube-3.0.17/src/Eccube/Service/CartService.php

        // 新しい数量でカート内商品を登録する
        if (0 < $quantity) {
            $CartItem = new CartItem();
            $CartItem
                ->setClassName('Eccube\Entity\ProductClass')
                ->setClassId((string)$ProductClass->getId())
                //->setPrice($ProductClass->getPrice02IncTax())
                ->setPrice($ProductClass->getPrice02())
                ->setQuantity($quantity);

            $this->cart->setCartItem($CartItem);
        }


eccube-3.0.17/src/Eccube/Entity/OrderDetail.php

    public function getPriceIncTax()
    {
        //return $this->price_inc_tax;
        return $this->price;
    }


こんな感じで良いのでしょうか?

「ECCUBE3 税別」で検索したWebサイトを見ると、確かに
「カート・注文ページ・注文メールの小計金額を税別で表示」まで言及されてない様ですね。
小生の読込み不足かもしれませんが。

後「カート・注文ページ・注文メール」に「項目:『税金』」は新設するのですよね?
ateshi
投稿日時: 2019/2/27 9:07
対応状況: 保留
一人前
登録日: 2016/12/21
居住地:
投稿: 114
Re: カート画面の小計を税別表示にする方法
Ringoさま

テンプレートを利用し、再度投稿致しました。
失礼しました。
Ringo
投稿日時: 2019/2/27 7:30
対応状況: −−−
常連
登録日: 2018/8/10
居住地:
投稿: 70
Re: カート画面の小計を税別表示にする方法
左の
『メニュー
 当サイトについて
 初めてご利用になる方へ
 EC-CUBE開発情報』
その際の注意点として、「うまく動きません」などの書き方は避け、
どのような動作をして、どのような状態になったのか、
手順と現象をできるだけ具体的に書くと回答がつきやすいと思います。

また、EC-CUBEのバージョンやDB、WEBサーバなど、動作環境によって挙動が異なることがありますので、
できる限り動作環境の情報も書くようにしましょう。
※次項の「質問用テンプレート」を参考にしてみてください。


https://xoops.ec-cube.net/modules/tinyd0/index.php?id=8

※[OS] 使用しているOS名、バージョン
 は「ECCUBE」を稼動させるOSです。ECCUBEを表示させるブラウザのパソコンのOSではないです。

質問用のテンプレートを用意しましたのでご利用ください。
------------------------------------------------------------------------------------------
[EC-CUBE] EC-CUBEのバージョン、新規インストールかアップデートか、等
[レンタルサーバ] レンタルサーバ名
[OS] 使用しているOS名、バージョン
[PHP] 使用しているPHPのバージョン
[データベース] 使用しているDB名、バージョン
[WEBサーバ] 使用しているWEBサーバ名、バージョン
[ブラウザ] 使用しているブラウザ名、バージョン
[導入プラグインの有無] あれば導入プラグインを記載
[カスタマイズの有無] あればカスタマイズ内容を記載(できるだけ具体的に)
[現象] 再現手順や、どのような現象が発生しているかなど、具体的に
------------------------------------------------------------------------------------------
ateshi
投稿日時: 2019/2/26 17:13
対応状況: −−−
一人前
登録日: 2016/12/21
居住地:
投稿: 114
カート画面の小計を税別表示にする方法
プラグインなしで税別表示に切り替えているのですが、
カート画面の小計を税別にする場合どうすればよいのでしょうか?
一覧や詳細ページはIncTaxを削除するだけで簡単でしたが。

スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,281名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.