• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    Ruby
  • License
    BSD 3-Clause "New...
  • Created almost 14 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Related products extension for Spree Commerce.

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

More Repositories

1

spree_i18n

I18n translation files for Spree Commerce.
Ruby
346
star
2

spree_social

Building block for spree social networking features (provides authentication and account linkage)
Ruby
213
star
3

spree_active_shipping

Spree integration for Shopify's active_shipping gem.
Ruby
135
star
4

spree_multi_vendor

Spree marketplace extension. Create your own marketplace on top of Spree Commerce
Ruby
130
star
5

spree_reviews

Straightforward review/rating functionality.
Ruby
125
star
6

spree_digital

A Spree extension to enable downloadable products
Ruby
116
star
7

better_spree_paypal_express

A better Spree PayPal Express Extension.
Ruby
109
star
8

spree_wishlist

Wishlist extension for Spree Commerce.
Ruby
106
star
9

spree_drop_ship

Spree Drop Shipping Extension
Ruby
102
star
10

spree_address_book

Adds address book for users to Spree
Ruby
94
star
11

spree_print_invoice

Create a PDF invoice for Spree orders.
Ruby
90
star
12

spree_fancy

SpreeFancy is a responsive theme for Spree Commerce.
CSS
86
star
13

spree_marketplace

Turn Spree into a marketplace by extending spree drop ship.
Ruby
77
star
14

spree_store_credits

This Spree extension allows admins to issue arbitrary amounts of store credit to users.
Ruby
70
star
15

spree_blue_theme

Original Spree Blue theme (0.60.x)
Ruby
65
star
16

spree_shared

Multi-tenancy for Spree using Apartment (per tenant databases).
Ruby
61
star
17

spree_rdr_theme

WIP - everything might change.
Ruby
52
star
18

spree_email_to_friend

Email a friend functionality for Spree Commerce.
Ruby
49
star
19

spree_sitemap

Sitemap Generator for Spree Commerce.
Ruby
47
star
20

spree_affiliate

Affiliate support for Spree Commerce.
Ruby
46
star
21

spree_braintree_vzero

Official Braintree + PayPal integration gem for Spree Commerce
Ruby
45
star
22

spree_multi_currency

Provides UI to allow configuring multiple currencies in Spree.
Ruby
41
star
23

spree_contact_us

Adds Contact Us form to your Spree Commerce store
Ruby
40
star
24

spree_product_zoom

Lightbox zoom functionality to show original product image
Ruby
32
star
25

spree_social_products

Add social sharing buttons for your Spree products
Ruby
28
star
26

spree_mail_settings

Mail setting functionality extracted from Spree.
Ruby
28
star
27

spree_slider

Ruby
26
star
28

spree_api_examples

Ruby
26
star
29

spree_globalize

Adds support for model translations (multi-language stores) using Globalize gem
Ruby
24
star
30

spree_simple_dash

Alternative dashboard overview for Spree
Ruby
23
star
31

spree_price_books

Price book functionality for running sales, role based, country based pricing etc...
Ruby
21
star
32

spree_analytics_trackers

Integrate your Spree application with Google Analytics and Segment.com
Ruby
19
star
33

spree_product_groups

Extension to Spree featuring Product Groups that were originally part of core prior to 1.1 release.
Ruby
19
star
34

spree_skrill

Add support for Skrill / MoneyBookers Quick checkout as a payment method.
Ruby
18
star
35

spree_analytics

Ruby
18
star
36

spree_store_credit_payment_method

Adds store credit functionality as a payment method.
Ruby
17
star
37

spree_tax_cloud

US sales tax extension for Spree using the Tax Cloud service.
Ruby
15
star
38

spree_page_cache

Minor tweaks to make Spree pages suitable for page caching
Ruby
15
star
39

spree_blue_sass_theme

spree_blue_theme using sass
Ruby
14
star
40

spree-adyen

Adyen payment gateway integration for Spree.
Ruby
12
star
41

spree_mailchimp_ecommerce

Connect your Spree application to Mailchimp eCommerce API for full email automation
Ruby
12
star
42

spree_shopify_importer

Migrate your Shopify store to Spree
Ruby
9
star
43

spree_handling_fees

Adds Handling Fee functionality to Spree.
Ruby
9
star
44

spree_clean

Admin UI to allow the removal of sample / test data.
Ruby
9
star
45

spree_vouchers

A WIP for Gift Vouchers
Ruby
7
star
46

spree_avatax_official

The new officially certified Spree Avatax (Avalara) extension
Ruby
7
star
47

spree_favorites

Add Spree::Favorite model to track favorite products or anything else you would like.
Ruby
7
star
48

spree_claim_order

Claim guest orders associated with an email address
Ruby
5
star
49

rfcs

A Request for Comments on Spree.
5
star
50

spree_videos

Spree extension to allow linking of youtube reference IDs to products
Ruby
5
star
51

spree_jirafe

Front-end integration for Jirafe.
Ruby
5
star
52

spree_usa_epay

Ruby
4
star
53

spree_multicode_promotions

Ruby
2
star
54

spree_jmeter

Contains https://github.com/flood-io/ruby-jmeter scripts for benchmarking & load testing Spree.
Ruby
1
star
55

spree_automation_interfaces

Ruby
1
star
56

spree_legacy_return_authorizations

Spree 2.3.x Legacy Returns
Ruby
1
star