Saltar al contenido principal
Los detalles del producto se muestran en inglés. Próximamente traducciones.
Theme Common — Shared Website Theme Utilities for Odoo — A build-to-order shared foundation layer for your Odoo website theme — 1/1Vista previa ilustrativa

A build-to-order shared foundation layer for your Odoo website themes

— one common library of QWeb snippets, SCSS design tokens, and reusable OWL/JS widgets that every child theme inherits.

ECOSIRE scopes, builds, installs, and supports it for you.

¿Qué es Theme Common — Shared Website Theme Utilities for Odoo?

A build-to-order shared foundation layer for your Odoo website themes — one common library of QWeb snippets, SCSS design tokens, and reusable OWL/JS widgets that every child theme inherits. ECOSIRE scopes, builds, installs, and supports it for you. Built to order by ECOSIRE for Odoo 17, 18, 19 — indicative price from $999.00 USD; request a quote for a scoped proposal.

Características clave

Dedicated `theme_common` foundation module that child themes declare as a dependency in `__manifest__.py`, so shared code lives in exactly one place
Versioned SCSS design-token layer (color palette, spacing scale, typography, breakpoints) exposed as CSS custom properties plus Bootstrap/Odoo SCSS variable overrides
Curated reusable QWeb snippets registered against `website.snippets` so they appear in the drag-and-drop builder of every dependent theme
Standard `snippet_options` XML controls (color pickers, layout toggles, spacing, alignment) shared consistently across all designs
Library of OWL components and `publicWidget` JS website widgets for sliders, tabs, animated counters, sticky headers and mega-menus
Correct asset-bundle wiring through `web.assets_frontend` (and `assets_frontend`) so shared CSS/JS loads once, in deterministic order, with no duplication
Re-skinnable architecture: a child theme re-declares SCSS token partials to restyle the whole component set without editing markup
Data-driven snippet helpers via lightweight `models.Model` with computed fields (`@api.depends`) where content must come from records
Frontend data exposure secured with `ir.model.access.csv` and record rules so public rendering never leaks backend data
RTL-aware and responsive utilities validated against Odoo's website breakpoints and Bootstrap grid
Built and tested for Odoo 17.0, 18.0, and 19.0, with Community vs Enterprise website differences accounted for per your target
Optional website-editor snippet groups/categories so your content team finds shared blocks logically grouped
Upgrade-safe patterns (no monkey-patching of core; clean inheritance and XML `xpath` overrides) to survive Odoo point releases
Handover includes the module packaged for both direct addons-path install and a git submodule/dependency workflow

Hecho a medida, listo para ti

Sin configuración por tu cuenta: una app funcional creada, instalada y con soporte de ECOSIRE.

  1. 1

    Haces el pedido

    Empieza con un precio único de desarrollo. Definimos el alcance contigo en el arranque.

  2. 2

    Creamos e instalamos

    ECOSIRE la crea, la configura y la instala en tu Odoo.

  3. 3

    En marcha + soporte

    Sales en vivo en aproximadamente una semana laboral, con dos semanas de soporte tras la puesta en marcha. Los defectos en el código que entregamos se corrigen sin coste.

Especificaciones técnicas

Compatibilidad con Odoo
Odoo 17, Odoo 18, Odoo 19
Ediciones
Enterprise y Community
Licencia
La licencia requiere confirmación
Requisito de Python
Python 3.10+
Base de datos
PostgreSQL 12+

Sobre este producto

Teams that run multiple Odoo website themes — or one theme that keeps growing — hit the same wall: every design duplicates the same building blocks. The same hero snippets, the same pricing tables, the same color and typography rules, the same JS carousel and mega-menu code get copy-pasted from one theme module into the next. When a brand color changes or a snippet has a bug, you edit it in five places and inevitably miss one. Odoo's native website builder gives you snippets and a theme structure, but it has no concept of a shared library that several themes can depend on; core website assets are global and hard to version, and a stock off-the-shelf apps.odoo.com theme ships its utilities locked inside its own package where your other themes can't reuse them. That is exactly the gap this build-to-order module closes.

We build theme_common as a dedicated foundation module that your other theme modules declare as a dependency in their __manifest__.py. It centralizes the parts that should only exist once: a versioned SCSS layer of design tokens (color palette, spacing scale, typography, breakpoints) exposed as CSS custom properties and Bootstrap/Odoo SCSS variable overrides; a curated set of reusable QWeb <template> snippets registered against website.snippets so they appear in the drag-and-drop builder of every child theme; and a library of OWL components and vanilla JS website widgets (publicWidget) for interactive elements like sliders, tabbed content, animated counters, and sticky headers. Assets are wired through the assets_frontend and web.assets_frontend bundles so each dependent theme loads the shared code once, in the right order, without duplication.

Technically, the module is structured so child themes override rather than fork. Design tokens live in SCSS partials that a child theme can re-declare to re-skin the entire component set without touching markup. Snippet options are defined in the standard snippet_options XML so your editors get the same inline controls (color pickers, layout toggles, spacing) across every design. Where content needs to be data-driven we add small models.Model helpers with computed fields (@api.depends) and expose them safely to the frontend, with access governed by ir.model.access.csv and record rules so public-website rendering never leaks backend data. Everything is built and tested against Odoo 17.0, 18.0, and 19.0, and we note the Community vs Enterprise differences that matter for website features so your deployment target is handled correctly from day one.

Because this is made-to-order, delivery works as a short, structured engagement rather than an instant download. We start with a scoping call to inventory your existing themes, the snippets and widgets you want consolidated, your token/design system, and your target Odoo version and edition. We then build on a staging branch, run UAT against your real content, and hand over installable source, documentation, and a git repository. Typical delivery is one working week from confirmed scope, depending on how many themes and components are folded into the shared layer. Pricing starts from $999 (indicative, single-company base scope); the number of child themes consolidated, the depth of the design-token system, custom interactive widgets, and any migration of existing snippet content increase the quoted scope. You receive a fixed quote after the scoping call — never a surprise.

lo que obtienes

  • Installable source code for the `theme_common` module, packaged for your target Odoo version(s) — 17.0, 18.0 and/or 19.0
  • Installation and configuration on your environment, including addons-path wiring and asset-bundle verification
  • Technical documentation: module architecture, SCSS token reference, snippet catalog, and how child themes should depend on and override it
  • User/editor guide plus a live training session for your content team on using the shared snippets in the website builder
  • Post-go-live support window for bug fixes and questions after deployment
  • UAT on a staging branch against your real content, with a documented rollback plan before production cutover
  • Git repository handover with full commit history and branching/dependency workflow for your other themes

¿Para quién es esto?

Odoo web agency / theme studio

Builds and maintains several Odoo website themes for clients and wants one shared utility layer so snippets, tokens, and widgets stop being copy-pasted across every project and can be fixed in one place.

In-house Odoo website team

Runs multiple branded microsites or a large multi-page site on Odoo and needs a consistent design system — shared colors, typography, and reusable blocks — that survives Odoo upgrades without re-work.

Odoo technical lead / integrator

Owns the addons path and cares about clean module boundaries: wants shared theme code isolated in a dependency module with proper asset ordering, security rules, and no core monkey-patching.

Marketing/brand owner on Odoo

Needs every website design to stay on-brand and lets the team re-skin the whole component set by changing design tokens, without touching QWeb markup or risking inconsistent pages.

Cómo se compara Theme Common — Shared Website Theme Utilities for Odoo

CriterioECOSIREConstrucción personalizadaCompetidorNativo de Odoo
Code reuse across multiple themesOne shared dependency module every theme inheritsPossible but you design and maintain it yourselfUtilities locked inside one theme packageNo shared-library concept for themes
Design tokens / re-skinningSCSS token layer + CSS variables; re-skin without touching markupWhatever you build; often inconsistentFixed to the vendor's palette and optionsManual SCSS edits per theme, no token system
Fit to your themesScoped to your exact snippets, widgets and brandFully bespoke, but all effort is on youGeneric; you adapt to it, not the reverseGeneric builder blocks only
Odoo version coverageBuilt and tested for 17.0 / 18.0 / 19.0 to your targetOnly what you build and retest yourselfOften lags new Odoo releasesShips with the version you run
Upgrade safetyClean inheritance, no core monkey-patchingDepends entirely on your disciplineVaries; can break on point releasesCore-safe but no shared abstraction
Security of data-driven snippets`ir.model.access.csv` + record rules enforcedYour responsibility to get rightRarely applicable / not exposedStandard ACLs, no snippet-specific helpers
Support & accountabilityPost-go-live window + fixed-quote engagementInternal team owns all fixesVendor forum/tickets, variable SLACommunity/Enterprise support, not theme-specific
HandoverSource, docs, training and git repo with historyWhatever you produce internallyPackaged module, limited docsN/A

Preguntas frecuentes sobre Theme Common

How long does delivery take?

This is a build-to-order module, not an instant download. Typical delivery is one working week from confirmed scope. The timeline depends mainly on how many of your existing themes and how many snippets/widgets we consolidate into the shared layer, plus your target Odoo version. We confirm the exact schedule after the scoping call.

How does pricing and scoping work?

Pricing starts from $999 as an indicative figure for a single-company base scope. The final number depends on the count of child themes consolidated, the depth of the design-token system, any custom interactive widgets, and migration of existing snippet content. After a short scoping call we send a fixed, written quote — you never commit to a variable or open-ended price.

What about support and updates after go-live?

Every engagement includes a post-go-live support window for bug fixes and questions. Because the module is built with upgrade-safe inheritance (no core monkey-patching), it is designed to survive Odoo point releases. We also offer ongoing maintenance and version-upgrade support (for example moving from 17.0 to 18.0 or 19.0) as a separate arrangement if you want it.

Does this work with our existing themes, or do we have to rebuild them?

It's designed to work with your existing themes, not replace them. During scoping we inventory your current theme modules and decide which snippets, widgets, and tokens move into `theme_common`. Your themes then declare it as a dependency in their `__manifest__.py` and inherit the shared library — usually with light refactoring rather than a rebuild.

Which Odoo versions and editions are supported?

We build and test against Odoo 17.0, 18.0, and 19.0. The module targets the website framework that exists in both Community and Enterprise; during scoping we confirm your edition because a few website features differ, and we make sure the delivered module fits your exact deployment target.

Will this survive Odoo upgrades and not break the website builder?

Yes — that's a core design goal. We use clean QWeb inheritance and XML `xpath` overrides, register snippets through the standard `website.snippets` mechanism, and wire assets through the official `web.assets_frontend` bundle rather than patching core. This keeps the drag-and-drop builder intact and minimizes breakage across point releases.

Can our content team edit pages themselves after handover?

Yes. The shared snippets appear in the standard drag-and-drop website builder with normal inline options (color pickers, layout toggles, spacing), so your editors work the way they already do. We include a user guide and a training session so the team is comfortable using the shared blocks across every design.

Solicitar presupuesto

Theme Common

A build-to-order shared foundation layer for your Odoo website themes — one common library of QWeb snippets, SCSS design tokens, and reusable OWL/JS widgets that every child theme inherits. ECOSIRE scopes, builds, installs, and supports it for you.

  • Dedicated `theme_common` foundation module that child themes declare as a dependency in `__manifest__.py`, so shared code lives in exactly one place
  • Versioned SCSS design-token layer (color palette, spacing scale, typography, breakpoints) exposed as CSS custom properties plus Bootstrap/Odoo SCSS variable overrides
  • Curated reusable QWeb snippets registered against `website.snippets` so they appear in the drag-and-drop builder of every dependent theme
  • Standard `snippet_options` XML controls (color pickers, layout toggles, spacing, alignment) shared consistently across all designs

Solicitar presupuesto

Cuéntanos tus necesidades de Theme Common y te enviaremos precios, opciones de licencia y una propuesta a medida, normalmente en un día hábil.

Sin pago ahora. Esto envía una solicitud de presupuesto a nuestro equipo; te responderemos por correo con precios y próximos pasos.