Skip to content

jkelleyj/spree-product-assembly

 
 

Repository files navigation

Product Assembly

Build Status Code Climate

Create a product which is composed of other products.


Installation

  1. Add this extension to your Gemfile with this line:
gem 'spree_product_assembly', github: 'spree-contrib/spree-product-assembly', branch: 'X-X-stable'

The branch option is important: it must match the version of Spree you're using. For example, use 3-0-stable if you're using Spree 3-0-stable or any 3.0.x version.

  1. Install the gem using Bundler:
bundle install
  1. Copy & run migrations
bundle exec rails g spree_product_assembly:install
  1. Restart your server

If your server was running, restart it so that it can find the assets properly.


Use

To build a bundle (assembly product) you'd need to first check the "Can be part" flag on each product you want to be part of the bundle. Then create a product and add parts to it. By doing that you're making that product an assembly.

The store will treat assemblies a bit different than regular products on checkout. Spree will create and track inventory units for its parts rather than for the product itself. That means you essentially have a product composed of other products. From a customer perspective it's like they are paying a single amount for a collection of products.

Using with spree_wombat

If you use this with spree_wombat make sure that you add this extension after spree_wombat in your Gemfile

This extension provides a specific serializer for shipments assembly_shipment_serializer, to use this in your Spree storefront make sure you configure spree_wombat like this:

config.payload_builder = {
  'Spree::Shipment' => {
    serializer: 'Spree::Wombat::AssemblyShipmentSerializer',
    root: 'shipments'
  }
}

Contributing

See corresponding guidelines.


Copyright (c) 2007-2015 Spree Commerce Inc. and contributors, released under the New BSD License

About

Adds oportunity to make bundle of products.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 83.4%
  • HTML 14.1%
  • CoffeeScript 1.9%
  • Other 0.6%