Skip to main content

Ease creation of variants selector on shopinvader sites

Project description

Beta License: AGPL-3 shopinvader/odoo-shopinvader

This is shopinvader the odoo module for the new generation of e-commerce.

This module adds the field variant_selector in the product variant metadata (exported to algolia or elastic). The value of the field contains the possible combinations of variants that are available. This ease frontend development of variant selectors.

Example of value

[
    {
        "name": "Frame Type",
        "values": [
            {
                "name": "Poster",
                "sku": "Poster-White-70x50cm",
                "selected": True,
                "available": True,
            },
            {
                "name": "Wooden",
                "sku": "Wooden-White-70x50cm",
                "selected": False,
                "available": True,
            },
        ],
    },
    {
        "name": "Frame Color",
        "values": [
            {
                "name": "White",
                "sku": "Poster-White-70x50cm",
                "selected": True,
                "available": True,
            },
            {
                "name": "Black",
                "sku": "Poster-Black-70x50cm",
                "selected": False,
                "available": True,
            },
            {
                "name": "Grey",
                "sku": "Poster-Grey-70x50cm",
                "selected": False,
                "available": True,
            },

        ],
    },
    {
        "name": "Poster Size",
        "values": [
            {
                "name": "45x30cm",
                "sku": "",
                "selected": False,
                "available": False,
            },
            {
                "name": "70x50cm",
                "sku": "Poster-White-70x50cm",
                "selected": True,
                "available": True,
            },
            {
                "name": "90x60cm",
                "sku": "Poster-White-90x60cm",
                "selected": False,
                "available": True,
            },
        ],
    },
],

Understanding the way to select attributes

It’s also important to understand how variants are selected and how attributes’ values are filtered.

Imagine a case where you have shoes with - 6 sizes: 15, 16, 17, 18, 19, 20 - 3 colors: Green, Red, Yellow

and some exceptions: - Green is available in size: 18, 19 - Red is available in size: 15, 16, 17 - Yellow is available in size: 18, 19, 20

In your ERP you have configured to select first the size then the color. And the default variant is the first “Green 18”

Step 1 : You go to the page of your product.

You will have:

size : 15, 16, 17, [18], 19, 20
color : [Green], (Red), Yellow

[] mean selected
() mean not available

Only the color Green and Yellow are available because the size 18 is selected.

Step 2: Now you select the color Yellow

You will have:

size : 15, 16, 17, [18], 19, 20
color : Green, (Red), [Yellow]

Even if you select the color Yellow the size are now filtered because the second filter cannot affect the first one.

Step 3: Now you select the size 16

As only the Red color is available for this size you are redirected to the Red shoes and you have

size : 15, [16], 17, 18, 19, 20
color : (Green), [Red], (Yellow)

Why not trying to filter the size when changing the color?

Allowing this would mean that if you select the size 16 you will have something like this:

size : 15, [16], 17, (18), (19), (20)
color : (Green), [Red], (Yellow)

And you will be locked in this situation without any possibility to select the Yellow shoes with size 19. There is an order for filling/selecting the value of each options and selecting a value should only impact the next attribute not the previous one.

This is the Odoo side of Shopinvader.

Table of contents

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • Akretion

Contributors

Other credits

The development of this module has been financially supported by:

  • Abilis

  • Cosanum

Maintainers

This module is part of the shopinvader/odoo-shopinvader project on GitHub.

You are welcome to contribute.

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

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo13_addon_shopinvader_product_variant_selector-13.0.1.0.1.dev5-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo13_addon_shopinvader_product_variant_selector-13.0.1.0.1.dev5-py3-none-any.whl
Algorithm Hash digest
SHA256 8f55f05ae0bd002f08fecf19c4cd7ea9d396fe27da8dae5ac43d9ef492d38307
MD5 d54534f1f49401bf18d18962330162d8
BLAKE2b-256 081bd559b745509cfb08b5ea58b13f4de90b7b10b1f0f168d8b5308350f5ee01

See more details on using hashes here.

Supported by

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