FoodcoopBCN/foodcoopbcn#162 add website_sale_cart_line_subtotal

This commit is contained in:
Luis 2025-12-09 13:05:45 +01:00
parent 90a0e989c8
commit 51a53f54ba
4 changed files with 96 additions and 0 deletions

View file

@ -0,0 +1,50 @@
# Website Sale Cart Line Subtotal
## Description
This module adds a "Subtotal" column to the shopping cart lines that displays the total amount for each line (quantity × unit price).
### Problem
By default, the Odoo website shopping cart shows:
- Product quantity
- Unit price
But it doesn't show the line total (quantity × price), which can be confusing for customers when they want to quickly see how much each line is costing them.
### Solution
This module adds a new "Subtotal" column that shows:
- `price_subtotal` (without taxes) for users with tax-excluded view
- `price_total` (with taxes) for users with tax-included view
The subtotal column is inserted between the "Price" and action columns in the cart.
## Installation
1. Install the module from the Apps menu
2. No additional configuration is required
## Usage
After installation:
1. Add products to your cart
2. Go to the shopping cart page
3. You will see a new "Subtotal" column showing the line total for each product
The subtotal respects your tax display configuration (with or without taxes).
## Credits
### Contributors
* Criptomart
### Maintainers
This module is maintained by the OCA.
## Compatibility
- Odoo 16.0
- website_sale

View file

@ -0,0 +1 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

View file

@ -0,0 +1,13 @@
# Copyright 2025 Criptomart
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Website Sale Cart Line Subtotal",
"version": "16.0.1.0.0",
"summary": "Show line subtotal (quantity × price) in shopping cart",
"license": "AGPL-3",
"author": "Criptomart, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/e-commerce",
"depends": ["website_sale"],
"data": ["views/website_sale_cart_templates.xml"],
"installable": True,
}

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<!-- Add Line Subtotal column to cart -->
<template id="cart_lines_subtotal" inherit_id="website_sale.cart_lines">
<!-- Add header for subtotal column -->
<xpath expr="//thead/tr/th[@class='text-center td-price']" position="after">
<th class="text-center td-subtotal">Subtotal</th>
</xpath>
<!-- Add subtotal value for each line -->
<xpath expr="//tbody//tr/td[@name='price']" position="after">
<td class="text-center td-subtotal" name="line_subtotal">
<t groups="account.group_show_line_subtotals_tax_excluded">
<span
t-esc="line.price_subtotal"
style="white-space: nowrap;"
t-options="{'widget': 'monetary', 'display_currency': website_sale_order.currency_id}"
/>
</t>
<t groups="account.group_show_line_subtotals_tax_included">
<span
t-esc="line.price_total"
style="white-space: nowrap;"
t-options="{'widget': 'monetary', 'display_currency': website_sale_order.currency_id}"
/>
</t>
</td>
</xpath>
</template>
</odoo>