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 }}