
Since odoo/documentation#903, the guideline for the location of new resource (images, downloadable files, RST includes...) files is to place those inside the directory of the RST page that references them. For example, if `doc1.rst` has a reference to `image.png` and to `download.zip`, the file structure should look like this: ├── parent_doc/ │ └── doc1/ │ │ └── image.png │ │ └── download.zip │ └── doc1.rst │ └── doc2.rst ├── parent_doc.rst Before this commit, most of the resource files were still located inside 'media' directories holding all the resource files referenced by RST pages located at the same level as these directories. In the example above, a single 'media' directory would hold all the resource files referenced by both `doc1.rst` and `doc2.rst`. Doing so prevented us from figuring out easily which resource file was referenced by which RST page and, thus, lead to unused resource files piling up in the repository. It also made it more complicated to define codeowners regex rules because a team could not simply be assigned to `/some_page.*` but needed to be assigned to both `/some_page\.rst` and to the location of 'media'. In order to help new content writers figure out the guideline when taking examples from other RST pages, this commit retroactively applies the guideline to existing resource files and 'media' directories. The left-over resource files that are not referenced by any RST page are removed. task-2497965 Part-of: odoo/documentation#2026
56 lines
1.9 KiB
ReStructuredText
56 lines
1.9 KiB
ReStructuredText
=============================================================
|
|
How to sell accessories and optional products (cross-selling)
|
|
=============================================================
|
|
|
|
You sell computers. Why not stimulating your customers to buy a top-notch
|
|
screen or an extra-warranty? That's the goal of cross-selling functionalities:
|
|
|
|
* Accessory products on checkout page,
|
|
* Optional products on a new *Add to Cart* screen (not installed by default).
|
|
|
|
Accessory products when checking out
|
|
====================================
|
|
|
|
Accessories (e.g. for computers: mouse, keyboard) show up when the customer
|
|
reviews the cart before paying.
|
|
|
|
.. image:: cross_selling/cross_sell_accessory_web.png
|
|
:align: center
|
|
|
|
Select accessories in the *Sales* tab of the product detail page.
|
|
|
|
.. image:: cross_selling/cross_sell_accessory.png
|
|
:align: center
|
|
|
|
.. note::
|
|
There is an algorithm to figure out the best accessories to display in case
|
|
several items are added to cart. If any item is the accessory of several products
|
|
added to cart, it is most likely that it will be atop the list of suggested accessories.
|
|
|
|
Optional products when adding to cart
|
|
=====================================
|
|
|
|
Optional products are directly related to the item added to cart (e.g. for computers:
|
|
warranty, OS software, extra components). Whenever the main product is added to cart,
|
|
such a new screen pops up as an extra step.
|
|
|
|
.. image:: cross_selling/cross_sell_optional_web.png
|
|
:align: center
|
|
|
|
To publish optional products:
|
|
|
|
* Install *eCommerce Optional Products* addon in *Apps* menu. Remove the default filter to
|
|
search on addons as well, otherwise only main apps show up.
|
|
|
|
.. image:: cross_selling/cross_sell_optional_install.png
|
|
:align: center
|
|
|
|
* Select optional items from the *Sales* tab of the product detail form.
|
|
|
|
.. image:: cross_selling/cross_sell_optional.png
|
|
:align: center
|
|
|
|
.. note::
|
|
The quantity of optional items added to cart is the same than the main item.
|
|
|