Skip to content

virajrch/spree_related_products

This branch is 20 commits ahead of, 26 commits behind spree-contrib/spree_related_products:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ab6023e · Jul 14, 2024
Jul 14, 2024
Dec 29, 2014
Mar 19, 2024
Mar 14, 2024
Jan 23, 2021
Mar 14, 2024
Jan 23, 2021
Aug 8, 2016
Feb 26, 2016
Dec 29, 2014
Dec 30, 2014
Jan 23, 2021
Jan 23, 2021
Jan 25, 2015
Sep 14, 2017
Dec 29, 2014
Jan 23, 2021
May 16, 2017
Dec 29, 2014
Mar 17, 2021

Repository files navigation

Related Products

Build Status Code Climate

Related Products is a Spree Commerce extension that provides a generic way for you to define different types of relationships between your products, by defining a RelationType for each type of relationship you'd like to maintain.

You can manage RelationTypes via the admin configuration menu, and you can maintain product relationships via Related Products tab on the edit product UI.

Possible uses

  • Accessories
  • Cross Sells
  • Up Sells
  • Compatible Products
  • Replacement Products
  • Warranty & Support Products

Relation Types

When you create a RelationType you can access that set of related products by referencing the relation_type name, see below for an example:

rt = Spree::RelationType.create(name: 'Accessories', applies_to: 'Spree::Product')
 => #<Spree::RelationType id: 4, name: "Accessories" ...>
product = Spree::Product.last
 => #<Spree::Product id: 1060500592 ...>
product.accessories
 => []

Since respond_to? will not work in this case, you can test whether a relation_type method exists with has_related_products?(method):

product.has_related_products?('accessories')
# => true

if product.has_related_products?('accessories')
  # Display an accessories box..
end

You can access all related products regardless of RelationType by:

product.relations
 => []

Discounts You can optionally specify a discount amount to be applied if a customer purchases both products.

Note: In order for the coupon to be automatically applied, you must create a promotion leaving the code value empty, and adding an Action of type : RelatedProductDiscount (blank codes are required for coupons to be automatically applied).


Installation

  1. Add this extension to your Gemfile with this line:

Spree >= 3.1

gem 'spree_related_products', github: 'spree-contrib/spree_related_products'

Spree 3.0 and Spree 2.x

gem 'spree_related_products', github: 'spree-contrib/spree_related_products', 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_related_products:install
  1. Restart your server

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


Contributing

See corresponding guidelines


Copyright (c) 2010-2015 Brian Quinn and contributors, released under the New BSD License

About

Related products extension for Spree Commerce.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 76.7%
  • HTML 22.6%
  • JavaScript 0.7%