Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Estate Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Website
  3. Website Multi Theme v 11.0
  4. Sales Conditions FAQ

Website Multi Theme

by Tecnativa https://www.tecnativa.com , IT-Projects LLC https://www.tecnativa.com , Onestein https://www.tecnativa.com , Odoo Community Association (OCA) https://www.tecnativa.com
Odoo
v 10.0 v 11.0 Third Party 1972
Download for v 11.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • Website Builder (website)
• Discuss (mail)
Lines of code 882
Technical Name website_multi_theme
LicenseLGPL-3
Websitehttps://www.tecnativa.com
Versions 10.0 11.0
You bought this module and need support? Click here!

Website Multi Theme

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

The theme might be not just a theme-module, but any set of themes and even particular views from any module (e.g. view website.custom_footer from website module). It also means, that theme is not just a styling, but a content as well.

It adds controls to make managing multiple websites easier:

  • Drop-down list to switch to a different website.
  • Change the related website of pages in the page properties dialog with checkboxes.
  • Adds the field website_ids to the website.page tree.

How it works

Core idea is as following

  • Find views created by theme-module and mark them as multi-views (website.theme.asset) additionally to one specified manually via XML (see demo/themes.xml as an example). The method _convert_assets is responsible for it.
  • Set active to False for multi-views. See method _find_and_deactivate_views.
  • Apply Multi-theme (record in new model website.theme) to the specific website. See method _multi_theme_activate
    • Make some magic with technical views website.assets_frontend and website.layout.
      • Duplicate patterns from templates/patterns.xml
      • In layout_pattern replace {theme_view} placeholder to a duplicate of assets_pattern
      • Corresponding duplicated pattern will be used as a new value for inherit_id field in duplicated multi-views that originally extend web.assets_frontend, website.assets_frontend or website.layout.
    • Duplicate multi-views of the multi-theme and its dependencies (other multi-themes). In duplicates, the field inherit_id is changed to other duplicated views or duplicated patterns when possible

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.
  4. Via Edit button (fa-external-link) add Default Theme to Sub-themes of the selected theme to make multi-footer work.

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

  • Rafael Blasco <rafael.blasco@tecnativa.com>
  • Antonio Espinosa <antonio.espinosa@tecnativa.com>
  • Jairo Llopis <jairo.llopis@tecnativa.com>
  • Ivan Yelizariev <https://it-projects.info/team/yelizariev>
  • Dennis Sluijk <d.sluijk@onestein.nl>

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.

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
  • Ratings
  • Discuss
There are no ratings yet!
Re: Cannot Install this module
by
Purnendu Singh
on 8/1/18, 10:07 AM

@chandni: Hope you already solved this issue but this is just for reference. Try these commands. apt-get install ruby-compass gem install compass bootstrap-sass


Re: Cannot Install this module
by
Frank Schellenberg
on 2/16/18, 4:05 AM

@Chadni You have to install this on your Odoo system. Not sure what you are using. Please check this thread when your system is Ubuntu Linux: https://www.odoo.com/forum/help-1/question/ubuntu-16-04-how-to-install-sass-for-odoo-123090 Feel free to ask any question on the modules development platform here: https://github.com/OCA/website/issues


Cannot Install this module.
by
Chandni
on 1/24/18, 8:08 AM

It is giving error of: Unable to install module "website_multi_theme" because an external dependency is not met: Unable to find 'sass' in path. Can you please help me with this?


Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with