From d6f703ebd5f88550e5eba14f7a9b40e441b7b713 Mon Sep 17 00:00:00 2001 From: therealthagomizer Date: Tue, 10 Feb 2026 23:30:54 +0000 Subject: [PATCH] [IMP] Sales: Updated the 'Never' attribute option to be clearer closes odoo/documentation#16505 X-original-commit: 463226bc1c718f5d22ffcd0a6fa69296f191dc7f Signed-off-by: Thomas Jude Cavazos (thjud) Co-authored-by: meval1006 Co-authored-by: Felicia Kuan --- .../products_prices/products/variants.rst | 96 +++++++++++------- .../variants/ecommerce-pattern-option.png | Bin 8339 -> 0 bytes 2 files changed, 62 insertions(+), 34 deletions(-) delete mode 100644 content/applications/sales/sales/products_prices/products/variants/ecommerce-pattern-option.png diff --git a/content/applications/sales/sales/products_prices/products/variants.rst b/content/applications/sales/sales/products_prices/products/variants.rst index b61d51443d..756a6d59ad 100644 --- a/content/applications/sales/sales/products_prices/products/variants.rst +++ b/content/applications/sales/sales/products_prices/products/variants.rst @@ -5,12 +5,12 @@ Product variants Product variants are used to give single products a variety of different characteristics and options for customers to choose from, such as size, style, or color, just to name a few. -Products variants can be managed via their individual product template, or by navigating to either +Product variants can be managed via their individual product template, or by navigating to either the :guilabel:`Product Variants` or :guilabel:`Attributes` page. All of these options are located within the Odoo *Sales* application. .. example:: - An apparel company has the following variant breakdown for one their best-selling t-shirts: + An apparel company has the following variant breakdown for one of its best-selling t-shirts: - Unisex Classic Tee @@ -65,48 +65,48 @@ The following :guilabel:`Display Type` options are available: .. tabs:: - .. tab:: :guilabel:`Pills` + .. group-tab:: Pills Options appear as selectable buttons. .. image:: variants/pills-display-type.png :alt: Pills display type - .. tab:: :guilabel:`Color` + .. group-tab:: Color Options appear as small, colored circles; the colors can be defined using any HTML color code. .. image:: variants/color-display-type.png - :alt: Pills display type + :alt: Color display type - .. tab:: :guilabel:`Radio` + .. group-tab:: Radio Options appear as radio buttons. .. image:: variants/radio-display-type.png - :alt: Pills display type + :alt: Radio display type - .. tab:: :guilabel:`Select` + .. group-tab:: Select Options appear in a drop-down menu. .. image:: variants/select-display-type.png - :alt: Pills display type + :alt: Select display type - .. tab:: :guilabel:`Image` + .. group-tab:: Image Options appear as images. .. image:: variants/image-display-type.png - :alt: Pills display type + :alt: Image display type - .. tab:: :guilabel:`Multi-checkbox` + .. group-tab:: Multi-checkbox Options appear as selectable checkboxes. This allows customers to choose multiple options, e.g., to add extras to food orders or highly customizable products. .. image:: variants/multi-checkbox-display-type.png - :alt: Pills display type + :alt: Multi-checkbox display type The :guilabel:`Variant Creation` field determines if/when a new variant is automatically created once an attribute is added to a product. @@ -115,17 +115,50 @@ once an attribute is added to a product. If the attribute's :guilabel:`Display Type` is :guilabel:`Multi-checkbox`, you **must** set the :guilabel:`Variant Creation` field to :guilabel:`Never`. -- :guilabel:`Instantly`: creates all possible variants as soon as attributes and values are added to +- :guilabel:`Instantly`: Creates all possible variants as soon as attributes and values are added to a product template. -- :guilabel:`Dynamically`: creates variants **only** when corresponding attributes and values are +- :guilabel:`Dynamically`: Creates variants **only** when corresponding attributes and values are added to a sales order. -- :guilabel:`Never`: prevents automatic creation of variants. +- :guilabel:`Never`: Prevents the automatic creation of purchaseable variants with this tag. + Instead, this tag is treated as being informational. If more than one value is assigned to an + attribute with this tag, all values are loaded when the product displays, since the creation of + discrete variants is prevented. .. warning:: Once added to a product, an attribute's :guilabel:`Variants Creation` mode cannot be edited. -.. seealso:: - :ref:`Ecommerce-specific settings for attributes ` +The :guilabel:`eCommerce Filter Visibility` field determines whether or not these attribute options +are visible to the customer on the front-end, as they shop on the online store. + +- :guilabel:`Visible`: the attribute values are visible to customers on the front-end. +- :guilabel:`Hidden`: the attribute values are hidden from customers on the front-end. + +Lastly, in the optional :guilabel:`eCommerce Category` field, select a category from a drop-down +menu to group similar attributes under the same section for added specificity and organization. + +.. note:: + To view the details related to the attribute category selected, click the internal link + :icon:`fa-arrow-right` :guilabel:`(right arrow)` icon to the far-right of the + :guilabel:`eCommerce Category` field, once an option has been selected. Doing so reveals that + attribute category's detail form. + + .. image:: variants/attribute-category-internal-link.png + :alt: A standard attribute category detail page accessible via its internal link arrow icon. + + Here, the :guilabel:`Category Name` and :guilabel:`Sequence` are displayed at the top. Followed + by :guilabel:`Related Attributes` associated with the category. These attributes can be dragged + and dropped into a desired priority order. + + Attributes can be directly added to the category, as well, by clicking :guilabel:`Add a line`. + +.. tip:: + To create an attribute category directly from this field, start typing the name of the new + category, then select either :guilabel:`Create` or :guilabel:`Create and edit...` from the + drop-down menu that appears. + + Clicking :guilabel:`Create` creates the category, which can be modified later. Clicking + :guilabel:`Create and edit...` creates the category and reveals a :guilabel:`Create Category` + pop-up window, in which the new attribute category can be configured and customized. Attribute values ---------------- @@ -136,7 +169,7 @@ attribute at any time, if needed. To add a value, click :guilabel:`Add a line` in the :guilabel:`Attribute Values` tab. Then, enter the name of the value in the :guilabel:`Value` column. Next, check the box in the -:guilabel:`Is custom value` column, if the value is custom (i.e. the customer gets to provide unique +:guilabel:`Is custom value` column if the value is custom (i.e., the customer gets to provide unique specifications that are specific to this particular value). Colors @@ -154,16 +187,16 @@ color selector pop-up window. .. image:: variants/picking-a-color.png :alt: Selecting a color from the HTML color pop-up window that appears on attribute form. -In this pop-up window, select a specific color by dragging the color slider to a particular hue, and +In this pop-up window, select a specific color by dragging the color slider to a particular hue and clicking on the color portion directly on the color gradient window. -Or, choose a specific color by clicking the *dropper* icon, and selecting a desired color that's +Or, choose a specific color by clicking the *dropper* icon and selecting a desired color that's currently clickable on the screen. -Businesses can attach images to product variant attribute values for customers to view on an -eCommerce website. To do so, click the :icon:`fa-camera` :guilabel:`(camera)` icon, then click the -:icon:`fa-pencil` :guilabel:`(pencil)` icon and select an image from your local drive. This image -will appear as a color option for the relevant product. +If you sell products with specific patterns, you can also add an image to display the pattern of the +product. To do so, click the :icon:`fa-camera` :guilabel:`(camera)` icon, then click the +:icon:`fa-pencil` :guilabel:`(pencil)` icon and select an image from your local drive. This pattern +will appear as a color option on the eCommerce product page. .. image:: variants/pattern-display.png :alt: Pattern as color option. @@ -172,7 +205,7 @@ will appear as a color option for the relevant product. Attributes can also be created directly from the product template by adding a new line and typing the name into the :guilabel:`Variants` tab. -Once an attribute is added to a product, that product is listed and accessible, via the attribute's +Once an attribute is added to a product, that product is listed and accessible via the attribute's :guilabel:`Related Products` smart button. That button lists every product in the database currently using that attribute. @@ -188,10 +221,9 @@ On the product form, click the :guilabel:`Attributes \& Variants` tab to view, m attributes and values for the product. .. image:: variants/attributes-values-tab.png - :align: center :alt: The attributes and values tab on a typical product form in Odoo Sales. -To add an attribute to a product, and subsequent attribute values, click :guilabel:`Add a line` in +To add an attribute to a product and subsequent attribute values, click :guilabel:`Add a line` in the :guilabel:`Attributes \& Variants` tab. Then, choose the desired attribute from the drop-down menu that appears. @@ -225,7 +257,6 @@ To the far-right of the attribute line is a :guilabel:`Configure` button. When c a separate page showcasing those specific :guilabel:`Product Variant Values`. .. image:: variants/product-variant-values.png - :align: center :alt: The Product Variant Values page accessible via the Configure button on a product form. Here, the specific :guilabel:`Value` name, :guilabel:`HTML Color Index` (if applicable), and @@ -239,7 +270,6 @@ When a value is clicked on the :guilabel:`Product Variant Values` page, Odoo rev page, detailing that value's related details. .. image:: variants/product-variant-value-page.png - :align: center :alt: A Product Variant Values page accessible via the Product Variants Values general page. On the specific product variant detail page, the :guilabel:`Value` and :guilabel:`Value Price Extra` @@ -259,14 +289,12 @@ a :guilabel:`Variants` smart button appears at the top of the product form. The smart button indicates how many variants are currently configured for that specific product. .. image:: variants/variants-smart-button.png - :align: center :alt: The variants smart button at the top of the product form in Odoo Sales. When the :guilabel:`Variants` smart button is clicked, Odoo reveals a separate page showcasing all the specific product variant combinations configured for that specific product. .. image:: variants/variants-page.png - :align: center :alt: The variants page accessible via the variants smart button on the product form in Odoo. Impact of variants @@ -282,10 +310,10 @@ impacts that can be taken advantage of throughout the Odoo database. .. example:: A red shirt's sales price is $23 -- because the shirt's template price is $20, plus an additional - $3 for the red color variant. Pricelist rules can be configured to apply to the product template, + $3 for the red color variant. Pricelist rules can be configured to apply to the product template or to the variant. -- :guilabel:`Inventory`: inventory is counted for each individual product variant. On the product +- :guilabel:`Inventory`: Inventory is counted for each individual product variant. On the product template form, the inventory reflects the sum of all variants, but the actual inventory is computed by individual variants. - :guilabel:`Manufacturing`: a single BoM can be used for multiple variants of the same product. diff --git a/content/applications/sales/sales/products_prices/products/variants/ecommerce-pattern-option.png b/content/applications/sales/sales/products_prices/products/variants/ecommerce-pattern-option.png deleted file mode 100644 index 9e6906780cdbeea37c4a14487cb5fd7ca104266a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8339 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