Skip to main content

Support different theme per website

Project description

License: LGPL-3

Website Multi Theme

Allow the website admin to set a different theme for each website.

Installation

To make this module work, you need to either:

  • Install any of the officially supported themes:

    • theme_bootswatch

  • Install any of the unofficially supported themes (at your own risk):

    • theme_anelusia

    • theme_artists

    • theme_avantgarde

    • theme_beauty

    • theme_bewise

    • theme_bistro

    • theme_bookstore

    • theme_clean

    • theme_enark

    • theme_graphene

    • theme_kea

    • theme_loftspace

    • theme_mongolia

    • theme_nano

    • theme_notes

    • theme_odoo_experts

    • theme_orchid

    • theme_treehouse

    • theme_vehicle

    • theme_yes

    • theme_zap

Themes in the above lists will become multiwebsite when installed along this module. If they get installed after ``website_multi_theme``, update this module manually, or it will not be notified of such change.

Configuration

To configure this module, you need to:

  1. Go to Website Admin > Configuration > Settings and choose or create

    a Website.

  2. Press Advanced > Multiwebsite theme > Reload.

  3. In Advanced > Multiwebsite theme, pick one of the available themes.

Once you save, any website that has no Multiwebsite theme selected will have, the default plain Bootstrap theme, and those that do have one will get it.

Of course, your Odoo instance must be reachable by all of the provided host names, or nobody will ever see the effect. But that is most likely configured through your DNS provider and/or proxy, so it is not a matter of this addon.

If you want to test this behavior, think that localhost and 127.0.0.1 are different host names.

Usage

To use this module, you need to:

  1. Follow the configuration steps.

  2. Enter any of the websites you modified.

Try me on Runbot

Development FAQ

How to develop a multiwebsite-ready theme?

Check demo/themes.xml. It includes a demo theme that will serve as a template for you. This demo theme turns primary buttons green, so you can test if it is applied or not easily.

How to convert a single-website theme in a multi-website one?

Check data/themes_bootswatch.xml. You must do that. You can consider adding the support directly in this addon, given it will just do nothing if the single-website theme addon is not installed (it acts as a soft dependency).

How to get multiwebsite-specific views updated?

This addon is conservative by default, meaning that in production databases views will not be updated if they already were created (except for the ones copied from templates/patterns.xml).

To force your website getting updated views for all views from a base theme that has changed, you should disable the website multi theme (to make the engine remove all views) and then re-enable it again (to recreate them from scratch).

This does not happen in demo or development instances, where views arch is always updated.

How to test on runbot?

  • Open [[ Website ]] >> Configuration >> Settings

  • Switch Website field from Website localhost to Website 0.0.0.0

  • Click fa-external-link icon to edit the Website

  • At Website Domain field copy-paste build domain and add something right after the first dot, for example:

    Original domain: 3308093-10-0-28910f.runbot2.odoo-community.org
         New domain: 3308093-10-0-28910f.second-website.runbot2.odoo-community.org
  • Click [Save] to save changes at the Website

  • Now you can use unchanged build domain for website called Website localhost and updated domain for website called Website 0.0.0.0

Known issues / Roadmap

  • Private themes support is not guaranteed.

  • There is no UI to remove websites. Do it through an odoo shell.

  • Theme picker should include some kind of thumbnail if possible.

  • If you install any of the supported themes after installing this addon, you will have to press Reload in the website config wizard to make it notice the change.

  • If you install any unsupported theme along with this addon, it would possibly become the base for all those supported, which can easily lead to weird situations and errors.

Credits

Contributors

Maintainer

Odoo Community Association

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

To contribute to this module, please visit https://odoo-community.org.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file odoo11_addon_website_multi_theme-11.0.1.0.0.99.dev3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for odoo11_addon_website_multi_theme-11.0.1.0.0.99.dev3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e52783e7c443c2c9f2e3b7c8068a1adadc9a099615728fa931078cda759474c0
MD5 d6095e36a640fd9030c2b0dfa3406892
BLAKE2b-256 942494ca2977b5052e8d923cfe1d215b0f28b2826c93b3a9690c58b5f63381fc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page