Spree Variant Options is a very simple spree extension that replaces the radio-button variant selection with groups of option types and values. To get a better idea let's let a few images do the explaining.
To see it in action, follow the steps for "Demo" below.
To install Spree Variant Options, just add the following to your Gemfile:
gem 'spree_variant_options', github: 'vinsol-spree-contrib/spree_variant_options'
Now, bundle up with:
bundle
Next, run the install generator to copy the necessary migration to your project and migrate your database:
rails g spree_variant_options:install
rake db:migrate
Spree Variant Options comes with some handy options:
-
allow_select_outofstock (default : false) When using extension like (spree_wishlist), you might want to allow your customer to add out of stock product by selecting out of stock variant options :
<%= form_for Spree::WishedProduct.new, :html => {:"data-form-type" => "variant"} do |f| %> <%= f.hidden_field :variant_id, :value => @product.master.id %> <button type="submit" class="medium blue awesome"> <%= t(:add_to_wishlist) %> </button> <% end %>
By setting allow_select_outofstock to true, when an user selects variant options it will automatically update any form's input variant_id with an data-form-type="variant" attribute.
-
default_instock (default: false) If this is option is set to true, it will automatically preselect in-stock variant options.
These configuration options can be set in a config/initializers/spree_variant_options.rb file for example :
SpreeVariantOptions::VariantConfig.allow_select_outofstock = true
SpreeVariantOptions::VariantConfig.default_instock = true
Like in spree core there is support for storage of images on S3. Storage on S3 is enabled with the same configuration as in spree core.
Example: config/initializers/spree.rb
Spree.config do |config|
config.use_s3 = true
config.s3_bucket = <bucket_name>
config.s3_access_key = <aws_access_key>
config.s3_secret = <aws_secret_key>
end
Be sure to bundle your dependencies and then create a dummy test app for the specs to run against.
bundle install
bundle exec rake test_app
bundle exec rspec spec
- Spencer Steffen (@citrus)
- Stéphane Bounmy (@sbounmy)
- Dan Morin (@danmorin)
- Richard Brown (@rbrown)
- @baracek
If you'd like to help out feel free to fork and send me pull requests!
Copyright (c) 2011 - 2012 Spencer Steffen and Citrus, released under the New BSD License All rights reserved.