/spree_flexi_variants

Spree extension to create product variants as-needed. Spree 3.0+

Primary LanguageRubyBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

#SpreeFlexiVariants

For Spree 3.2.0+

This is a spree extension that solves two use cases related to variants. I call them Ad Hoc Options and Product Customizations.

###Ad Hoc Options

Use these when have numerous (possibly price-altering) product options and you don't want to create variants for each combination.

You can also restrict certain combinations of options from coexisting. These are called Ad Hoc Exclusions.

###Product Customizations

Use these when you want the ability to provide a highly customized product e.g. "Cut to length 5.82cm", "Engrave 'thanks for the memories'", "Upload my image". Full control over pricing is provided by the Spree calculator mechanism.

##Version Notes

The branch spree-3-1-experimental is an untested by myself version for spree 3.1.0. Please let me know (send a pull request) if it is missing anything.

The branch spree-3-0-stable is an somewhat stable version for spree 3.0.0 with updated styles to match.

Working with a older spree? Check out the original gem or one of the many forks. https://github.com/jsqu99/spree_flexi_variants

##Installation

# see the notes in Versionfile if you are using an older version of spree
gem 'spree_flexi_variants', github: 'QuintinAdam/spree_flexi_variants', branch: '3-0-stable'

bundle install

bundle exec rails g spree_flexi_variants:install

Examples

Build a 'Cake' product using Ad Hoc Options and Product Customizations

Cake

Build a 'Necklace' product using Ad Hoc Options and Product Customizations

Necklace

Build a 'Pizza' product using Ad Hoc Options. Note that the 'multi' option checkboxes come from a partial named after the option name (see app/views/products/ad_hoc_options/_toppings.html.erb)

Picture Frame

See the wiki for more detail.