Merge pull request #321 from odoo/12.0-Website-Multi_website-jub
[ADD]Website:Multi Website
BIN
getting_started/Nouveau dossier/media/getting_started01.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started02.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started03.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started04.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started05.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started06.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started07.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started08.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started09.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started10.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started11.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started12.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
getting_started/Nouveau dossier/media/getting_started13.png
Normal file
After Width: | Height: | Size: 238 KiB |
@ -9,5 +9,6 @@ Website
|
|||||||
|
|
||||||
website/publish
|
website/publish
|
||||||
website/optimize
|
website/optimize
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ Publish
|
|||||||
|
|
||||||
publish/domain_name
|
publish/domain_name
|
||||||
publish/translate
|
publish/translate
|
||||||
|
publish/multi_website
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
BIN
website/publish/media/multi_website01.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
website/publish/media/multi_website02.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
website/publish/media/multi_website03.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
website/publish/media/multi_website04.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
website/publish/media/multi_website05.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
website/publish/media/multi_website06.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
website/publish/media/multi_website07.png
Normal file
After Width: | Height: | Size: 8.5 KiB |
BIN
website/publish/media/multi_website08.png
Normal file
After Width: | Height: | Size: 228 KiB |
BIN
website/publish/media/multi_website09.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
website/publish/media/multi_website10.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
website/publish/media/multi_website11.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
website/publish/media/multi_website12.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
website/publish/media/multi_website13.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
website/publish/media/multi_website14.png
Normal file
After Width: | Height: | Size: 23 KiB |
BIN
website/publish/media/multi_website15.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
website/publish/media/multi_website16.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
BIN
website/publish/media/multi_website17.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
website/publish/media/multi_website18.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
307
website/publish/multi_website.rst
Normal file
@ -0,0 +1,307 @@
|
|||||||
|
=====================
|
||||||
|
Manage Multi Websites
|
||||||
|
=====================
|
||||||
|
|
||||||
|
.. image:: media/multi_website01.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Odoo’s Multi-Websites opens up wide possibilities of diversification and
|
||||||
|
customer segmentation for your business. A multiplied audience and
|
||||||
|
boosted revenue are now just a few clicks away!
|
||||||
|
|
||||||
|
Each website can work in a fully independent way, with its own theme,
|
||||||
|
branding, domain name, header & footer, pages, languages, products, blog
|
||||||
|
posts, forum, slides, events, live chat channels, etc. Let’s go for a
|
||||||
|
tour!
|
||||||
|
|
||||||
|
Setup
|
||||||
|
=====
|
||||||
|
|
||||||
|
To create a new website, go to :menuselection:`Website --> Configuration → Settings`.
|
||||||
|
The button, *Create a new website*, lays in the first section.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. image:: media/multi_website02.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
In the upcoming prompt, set a name for your new website and a specific
|
||||||
|
domain name. Leave empty to publish the new website under the default
|
||||||
|
domain of your Odoo database. You can later set some country groups to
|
||||||
|
redirect visitors to it using Geo IP.
|
||||||
|
|
||||||
|
Then, select a theme. This new website might have a totally different
|
||||||
|
purpose or audience than the first one. So feel free to go for a
|
||||||
|
different theme!
|
||||||
|
|
||||||
|
Once the theme is selected, you can start to build the homepage of your
|
||||||
|
website. Follow the purple drops, they will help you in the first steps.
|
||||||
|
|
||||||
|
.. image:: media/multi_website03.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
If you run Odoo Online, don’t forget to redirect any new domain
|
||||||
|
name to your Odoo database (CNAME) and to authorize it Odoo-side.
|
||||||
|
`Read <https://www.odoo.com/documentation/user/online/website/publish/domain_name.html>`__,
|
||||||
|
|
||||||
|
Create the menu
|
||||||
|
===============
|
||||||
|
|
||||||
|
The new website has a default menu with all the installed applications.
|
||||||
|
To edit it, click *Pages > Edit Menu*. Moving forward you only edit
|
||||||
|
the menu of the current website.
|
||||||
|
|
||||||
|
Switch from one website to another
|
||||||
|
==================================
|
||||||
|
|
||||||
|
|
||||||
|
As easy as ABC! There is a website switcher in the right corner of the
|
||||||
|
edit bar. Switching to another website will connect to the domain of
|
||||||
|
this website. If you use another domain for the website, the user is
|
||||||
|
requested to sign in.
|
||||||
|
|
||||||
|
.. image:: media/multi_website04.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When switching, you are taken to the same domain path in the
|
||||||
|
other website (e.g. /shop/myproduct). If this URL is not used there, you will be redirected to a 404 page but suggested to create a new page from there.
|
||||||
|
|
||||||
|
Add features
|
||||||
|
============
|
||||||
|
|
||||||
|
The website apps you install (e.g. Slides, Blogs) are made available in
|
||||||
|
all your websites. You can of course keep them hidden in one website by
|
||||||
|
removing the menu item.
|
||||||
|
|
||||||
|
Each website comes with a high range of specific options in the
|
||||||
|
settings. First select the website to configure.
|
||||||
|
|
||||||
|
.. image:: media/multi_website05.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Then, take a look at the options flagged with the earth icon. It means
|
||||||
|
they only impact the very website you are working on.
|
||||||
|
|
||||||
|
.. image:: media/multi_website06.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
You can for instance set specific :
|
||||||
|
|
||||||
|
- languages,
|
||||||
|
|
||||||
|
- domain names,
|
||||||
|
|
||||||
|
- social media links,
|
||||||
|
|
||||||
|
- customer portal mode (B2C vs. B2B),
|
||||||
|
|
||||||
|
- dedicated live chat channels,
|
||||||
|
|
||||||
|
- etc.
|
||||||
|
|
||||||
|
The other options are global and apply to all your websites.
|
||||||
|
|
||||||
|
Manage domain names
|
||||||
|
===================
|
||||||
|
|
||||||
|
|
||||||
|
As said earlier, your websites can either share the same domain name or
|
||||||
|
use a specific one. If you share it and want to adapt the content per
|
||||||
|
region, set country groups in the setting of each website. Visitors will
|
||||||
|
be redirected to the right website using Geo IP.
|
||||||
|
|
||||||
|
.. image:: media/multi_website07.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Geo IP is installed by default in Odoo Online. If you run Odoo
|
||||||
|
on-premise, don’t forget to install \*geoip\* library.
|
||||||
|
|
||||||
|
`Read the full documenation about domain names here <https://www.odoo.com/documentation/user/online/website/publish/domain_name.html>`__,
|
||||||
|
|
||||||
|
Customize the visitor experience
|
||||||
|
================================
|
||||||
|
|
||||||
|
|
||||||
|
The customer experience can be customized very deeply thanks to the menu
|
||||||
|
\*Customize\*. All the visual options available there are specific to
|
||||||
|
each website. Go through the different pages to adapt them to this new
|
||||||
|
audience. Focus on workflows and automatic pages (eCommerce checkout,
|
||||||
|
blogs, events, etc.) as the number of available options is higher there.
|
||||||
|
|
||||||
|
.. image:: media/multi_website08.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Publish specific content per website
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
Like static pages, any content created from the front-end (product, blog
|
||||||
|
post, etc.) is always only published in the current website. You can
|
||||||
|
change that from the edit form view in the backend and leave the
|
||||||
|
*Website* field blank. This will publish it in all the websites.
|
||||||
|
|
||||||
|
.. image:: media/multi_website09.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Here are all the objects that you can link to *either one or all the
|
||||||
|
websites*:
|
||||||
|
|
||||||
|
1. Products
|
||||||
|
|
||||||
|
2. Product Categories for eCommerce
|
||||||
|
|
||||||
|
3. Blogs
|
||||||
|
|
||||||
|
4. Slide Channels
|
||||||
|
|
||||||
|
5. Forums
|
||||||
|
|
||||||
|
6. Events
|
||||||
|
|
||||||
|
7. Job Positions
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When you create the record from the backend and publish it,
|
||||||
|
typically a product or an event, it is made available in all websites.
|
||||||
|
|
||||||
|
Publish a page in all websites
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
A new static page is created and only made available in the current
|
||||||
|
website. You can duplicate it to other websites from
|
||||||
|
:menuselection:`Website --> Configuration → Pages`. To do so, leave the *Website* field empty.
|
||||||
|
|
||||||
|
If you want to duplicate it in just one other website, duplicate the
|
||||||
|
page and set the new website.
|
||||||
|
|
||||||
|
.. image:: media/multi_website10.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
When you edit the page again, the change only affects the current
|
||||||
|
website. A new page is actually duplicated and tied up to the website.
|
||||||
|
The original page still being linked to all websites.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
By grouping pages by URL in the page manager, you easily find
|
||||||
|
the original page behind each edited page.
|
||||||
|
|
||||||
|
.. image:: media/multi_website11.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Multi-companies
|
||||||
|
===============
|
||||||
|
|
||||||
|
Each website can be linked to a specific company of your system, in a
|
||||||
|
multi-companies environment.
|
||||||
|
|
||||||
|
.. image:: media/multi_website12.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
With such a configuration, only company-related data appear on the
|
||||||
|
website (products, jobs, events, etc.).
|
||||||
|
|
||||||
|
Website editors can only view and edit the pages of the records they
|
||||||
|
have access to, typically the ones belonging to their current company
|
||||||
|
(and to their subsidiaries, or child companies in Odoo language). And so
|
||||||
|
is it for visitors.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
If websites are multi-companies, you don’t change company when
|
||||||
|
switching websites. To change company and see the related content, use
|
||||||
|
the company selector in the menu.
|
||||||
|
|
||||||
|
.. image:: media/multi_website13.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Configure your eCommerce website
|
||||||
|
================================
|
||||||
|
|
||||||
|
eCommerce is a key feature in the multi-websites environment. We made it
|
||||||
|
so that the entire flow can be customized to fit the very audience of
|
||||||
|
each website.
|
||||||
|
|
||||||
|
Products only available in one website
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
We already saw earlier how to publish a specific record in only one
|
||||||
|
website. You will find the \*Website\* field in the eCommerce tab of the
|
||||||
|
product edit form. Empty means available in all websites.
|
||||||
|
|
||||||
|
.. image:: media/multi_website14.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Products available on *some* websites
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
To make a product available on some websites, but not all of them, you
|
||||||
|
should duplicate the product for each website.
|
||||||
|
|
||||||
|
If you need a unique reference to manage in your inventory, you should
|
||||||
|
install *Manufacturing\ and create *Kits* BoMs (bills of materials).
|
||||||
|
Each kit will link each published “virtual” product to the main
|
||||||
|
reference managed in your inventory. That way, any item sold from your
|
||||||
|
website will be converted into the storable item in the delivery order.
|
||||||
|
|
||||||
|
Pricelists
|
||||||
|
----------
|
||||||
|
|
||||||
|
To manage specific prices by websites, you can activate *Multiple Sales
|
||||||
|
Prices per Product* in Website settings.
|
||||||
|
|
||||||
|
Then, go to :menuselection:`Website --> Products → Pricelists` to create additional
|
||||||
|
pricelists. Read `Pricelists Documenation <https://www.odoo.com/documentation/user/online/ecommerce/maximizing_revenue/pricing.html>`__,
|
||||||
|
|
||||||
|
if you need help. Select a website to make a pricelist only available on
|
||||||
|
this website.
|
||||||
|
|
||||||
|
.. image:: media/multi_website15.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Leaving the field empty means you make it work in all websites if
|
||||||
|
*Selectable* is checked. Otherwise, it makes it only available for
|
||||||
|
sales backend operations of Sales and Point of Sale applications.
|
||||||
|
|
||||||
|
Payment Methods
|
||||||
|
---------------
|
||||||
|
|
||||||
|
By default, activated payment acquirers are deployed in all websites.
|
||||||
|
You could already use specific payment acquirers per country using Geo
|
||||||
|
IP by defining countries in their configuration. Now you can also do it
|
||||||
|
per website by filling in the *Website* field.
|
||||||
|
|
||||||
|
Customer accounts
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
There is a setting to choose how to manage customer accounts in Website
|
||||||
|
settings. You can either allow customers to use one account through all
|
||||||
|
the websites or compel them to create one account for each website. This
|
||||||
|
last option is convenient if your websites shouldn’t be related to each
|
||||||
|
other in the visitor mind.
|
||||||
|
|
||||||
|
.. image:: media/multi_website16.png
|
||||||
|
:align: center
|
||||||
|
|
||||||
|
Technical hints for customization
|
||||||
|
=================================
|
||||||
|
|
||||||
|
If you want to publish custom objects on the website, here are a few
|
||||||
|
tips to make it work with multi websites:
|
||||||
|
|
||||||
|
- Sitemap: don’t forget the domain in the route to only publish
|
||||||
|
available records in each website’s sitemap.
|
||||||
|
|
||||||
|
- Access: you should call the method
|
||||||
|
*can_access_from_current_website* in the controller to make
|
||||||
|
sure the visitor can see a record in the current website.
|
||||||
|
|
||||||
|
- Search: when a list of records is displayed, don’t forget to specify
|
||||||
|
the domain to only display records available for the current
|
||||||
|
website.
|
||||||
|
|
||||||
|
.. image:: media/multi_website17.png
|
||||||
|
:align: center
|