Ant Shop - Ant Design eCommerce Theme for Odoo Website
by 3B https://bro3b-odoo-themes.lovable.app/$ 85.05
A storefront that looks designed, not configured
Ant Design applied to Odoo eCommerce — the whole storefront, not just the blue. Shop grid, filters, product page, cart and checkout, on one token system you can rebrand from system parameters.

Odoo does not look bad. It looks unfinished.
Most Odoo themes change the primary colour and stop. The radii still disagree, the shadows are Bootstrap's, and the purple comes back the moment you open the cart.
This one is a token system, not a palette swap. Radius, spacing, type scale, control heights, focus rings and motion all come from Ant Design v5 and are mapped onto both Bootstrap's variables and Odoo's own — which is the half most themes miss.

One radius, one shadow scale, one focus ring â across every surface
What actually changes
01 · One shape 6px on every button, input, card and menu. Ant Design's default radius is the single strongest tell, and Odoo ships four different ones. | 02 · Odoo's purple, gone Odoo compiles its brand colour into colour combinations, not just a variable. Mapping those is why the purple does not reappear in the cart. | 03 · Contrast that passes White on Ant's blue-6 is 4.10:1 and misses WCAG AA. Fills that carry text use blue-7 instead; the brand blue stays on borders and rings. |

Filters, slider and swatches rebuilt on the same tokens

Filters, slider and swatches rebuilt on the same tokens
A homepage on the day you install it
A fresh Odoo homepage is an empty div. This theme ships a laid-out one — hero, highlights, categories, featured products, editorial band — and every section reads from your catalogue rather than a bundled photo set. Publish a product and it appears; add a category and the edit fills in.
That also means the theme ships no stock photography. Nothing here is licensed from someone else, and your shop never looks like the demo.
| Storefront Hero | Typographic, no image required |
|---|---|
| Highlights | Delivery, returns, payment, support |
| Categories | Reads product.public.category |
| Featured Products | Reads your published products |
| Editorial Band | Story block with an image slot |
All five are in the website builder's snippet panel, so you can rearrange, duplicate or drop them on any page.
The product page, not just the grid
A theme that stops at the shop grid falls apart at the point of sale.

Gallery, variants, quantity stepper and CTA on the Ant control scale

Mobile-first â the same tokens, no separate stylesheet
Contrast, measured
White on Ant Design's blue-6 measures 4.10:1. WCAG AA asks for 4.5:1, so the label on a stock Ant primary button does not clear it — a known trade-off in the design system itself. Rather than quietly pick a side, this theme splits the role: blue-6 stays the brand for borders, tints and focus rings, and anything carrying text uses blue-7.
| Body text | 16.7:1 |
|---|---|
| Secondary | 7.0:1 |
| Labels, placeholders | 4.8:1 |
| Primary button label | 6.2:1 |
What the theme covers
| Shop grid | Portrait cards, hover quick add, ribbons, grid/list toggle, pagination |
|---|---|
| Filter rail | Categories, attributes, colour swatches, price range slider |
| Mobile filters | The off-canvas drawer, which is separate markup from the desktop rail |
| Product page | Gallery, size chips, colour swatches, quantity stepper, sticky buy panel, tabs |
| Cart & checkout | Line table, totals, address, delivery and payment selection states |
| Homepage | Five snippets, laid out, reading live catalogue data |
| Empty states | Zero filter results, empty cart, back to top |
| Site chrome | Header, navigation, dropdowns, breadcrumbs, footer |
| Dark mode | A second palette, drawn â not a token flip |
Compatibility
| Odoo 17.0, 18.0, 19.0 | Each series is a separate listing, built and tested on that series |
|---|---|
| Community & Enterprise | Both |
| Odoo.sh | Yes |
| Odoo Online (SaaS) | Yes â the module contains no Python logic |
| Dependencies | website_sale only |
| External services | None. No CDN, no API calls, no tracking, no bundled third-party code. |
| Upgrades | One template hook and one style block. Odoo's own templates keep rendering every page. |
Installing is two steps, not one
| 1 | Copy ant_shop_theme into your addons path |
|---|---|
| 2 | Apps → Update Apps List, search Ant Shop, Install |
| 3 | Website → Configuration → Website → Theme → choose Ant Shop |
| 4 | Optional: turn on the grid's Add to Cart button in the Shop page editor |
Step 3 is what installs the storefront styling and drops the homepage into place. Until then Odoo keeps serving its own theme.
Rebranding. Settings → Technical → System Parameters. Read at render time — no recompilation, no restart.
ant_shop.primary | Brand colour. Default #1677ff. |
|---|---|
ant_shop.radius | Corner radius. Default 6px. |
ant_shop.contrast | aa (default) keeps every text pairing above WCAG AA; ant restores the literal Ant palette. |
ant_shop.density | comfortable (default) or compact. |
ant_shop.color_mode | auto, light or dark. |
ant_shop.logo_invert_dark | 0 (default) or 1, dark mode only. |
What it will not do
| Fix your product photos | A consistent catalogue still needs consistent photography. The theme frames it; it cannot shoot it. |
|---|---|
| Restyle custom snippets | Website builder blocks with colours you chose by hand are left alone, deliberately. |
| Add features | This is a styling layer. No wishlist, no size guide, no new models â and therefore nothing to migrate. |
| Give you a dark logo | Odoo stores one logo. There is a switch to invert it if yours is a monochrome wordmark. |
Support
Email support@bro3b.dev â answered within 2 business days. Include your Odoo version and edition and a screenshot. Bug fixes for 18.0 are free for the lifetime of the series.
| 1.0.1 | Price reduced to $88. |
|---|---|
| 1.0.0 | First release. Built and verified on Odoo 17.0, 18.0 and 19.0. |
Ant Shop is an independent theme. Ant Design is a design system published by Ant Group; this module is not affiliated with or endorsed by Ant Group or Odoo S.A. Product photography shown in these screenshots is for demonstration only and is not included with the module.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
eCommerce (website_sale)
• Website (website) • Discuss (mail) • Invoicing (account) |
| Lines of code | 1849 |
| Technical Name |
ant_shop_theme |
| License | OPL-1 |
| Website | https://bro3b-odoo-themes.lovable.app/ |
Ant Shop - Ant Design eCommerce Theme
Ant Shop applies the Ant Design system to the Odoo website and eCommerce frontend: shop grid, product page, cart, checkout, portal, header and footer.
It is a styling layer, not a fork. Odoo's own templates keep rendering every page; the theme re-points Bootstrap's design variables and Odoo's colour combinations at Ant Design tokens, then refines the surfaces Odoo does not style well on its own.
Scope
- Product cards, ribbons, prices, pagination
- Filter rail: categories, attributes, accordions, price range
- Product page: gallery, variant pickers, quantity stepper, add-to-cart, tabs
- Cart: line table, totals panel
- Checkout: address, delivery and payment selection states
- Header, dropdowns, cart badge, footer
- Buttons, inputs, selects, checkboxes, radios, tags, alerts, modals
Installation
This is a theme. Odoo does not apply a theme when it is installed - you choose it, the same way you would choose any Odoo theme. Missing the third step is why a theme can look as though it did nothing.
- Copy ant_shop_theme into your addons path.
- Apps -> Update Apps List, search Ant Shop, Install.
- Website -> Configuration -> Website -> Theme -> choose Ant Shop.
- Optional: enable the grid's Add to Cart button (Website -> Shop page editor).
Step 3 installs the storefront styling and drops the homepage into place.
Configuration
Three optional system parameters (Settings -> Technical -> System Parameters):
They are read when a page is rendered, so a change takes effect on reload. No recompilation and no server restart.
Technical notes
- The module contains no Python logic, which is why it installs on Odoo Online (SaaS).
- It touches one template hook (#wrapwrap) and adds one <style> block to <head>.
- No external requests, no bundled third-party code, no tracking.
- Uninstalling removes every trace; the storefront returns to stock Odoo.
Known limitations
- Website builder snippets that hardcode their own colours are not restyled; that is by design, since those colours were chosen by the merchant.
- Each Odoo series is a separate listing. This one is built and tested on the series named in its version number.
Support
support@bro3b.dev - answered within 2 business days.
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module