Shopify Related Products
I was looking for a way to control the related products shown below a product (for cross-selling) without using an external app, and came up with a very basic and easy to use template and collection solution.
I was looking for a way to control the related products shown below a product (for cross-selling) without using an external app, and came up with a very basic and easy to use template and collection solution.
In shopify I was looking for a way to get a free product when buying from a specific vendor, I came up with below script.
In our case we also needed the vendor’s product to be at > $400 for the gift product to be free, you can offcourse remove that if statement.
Unfortunately you can’t add products to the cart with shopify scripts (yet?) so you can leave adding the product up to the customer, or add the product with javascript in the frontend.
You can remove the puts statements, I though I’d leave them so you can see how to debug something like this.
discounted_product = 2228740609
products_seen = false;
puts('loop over all products, and check if we have the required vendor')
Input.cart.line_items.each do |line_item|
product = line_item.variant.product
puts(product.vendor.downcase)
if(product.vendor.downcase == 'vendorname')
if(line_item.variant.price > Money.new(cents: 40000))
puts('found a product matching vendor, and matching minimum price of $400')
products_seen = true;
end
end
end
if(products_seen)
puts('Check if the gift product is in the cart, and update its price to 0')
Input.cart.line_items.each do |line_item|
product = line_item.variant.product
next unless product.id == discounted_product
puts('they will only get 1 free, not unlimited items')
updated_price = line_item.line_price.cents - (line_item.line_price.cents / line_item.quantity)
line_item.change_line_price( Money.new(cents: updated_price) , message: "Free Shoetrees")
end
end
Output.cart = Input.cart
If you use the Shopify API Carrier Service to populate your shipping by realtime to add pickup-points and other custom shipping options, you might want to re-order your shipping options in a certain way.
Frans Boone wanted to offer his clients to choose between normal ups shipping rates & free shipping to ups pickup points near the client.
In order to do this I created a custom shopify app for Frans Boone, which uses the different ups api’s to get the pickup points near the customer & normal shipping rates, and return it to the shopify checkout process, where the client can choose the desired option.
