Skip to content

Instantly share code, notes, and snippets.

@chakravarthykalyan90
Forked from tkirrane/companion-product
Created July 22, 2020 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chakravarthykalyan90/1bdbeea978854a5522f1a57bea60b965 to your computer and use it in GitHub Desktop.
Save chakravarthykalyan90/1bdbeea978854a5522f1a57bea60b965 to your computer and use it in GitHub Desktop.
Add a companion product to cart page
{% comment %}
To add a companion product to the cart automatically if a primary product is in cart:
1. Create a new link list under your Navigation tab.
2. In that link list, make the first link point to companion product.
3. Copy your link list handle where indicated at line 8:
{% endcomment %}
{% assign linklist = linklists['put-your-link-list-handle-here'] %}
{% comment %}
You're done. Include this code in cart.liquid at the top or bottom.
{% endcomment %}
{% if linklist.links.size > 0 %}
<script>!window.jQuery && document.write('<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"><\/script>')</script>
<script>
if (typeof Shopify === 'undefined') var Shopify = {};
Shopify.cart = {{ cart | json }};
Shopify.toAdd = {{ linklist.links.first.object.variants.first.id }};
var pleaseAdd = false;
Shopify.idsInCart = [];
for (var i=0; i<Shopify.cart.items.length; i++) {
Shopify.idsInCart.push(Shopify.cart.items[i].id);
if (Shopify.cart.items[i].id !== Shopify.toAdd) {
pleaseAdd = true;
}
}
if (pleaseAdd && (jQuery.inArray(Shopify.toAdd, Shopify.idsInCart) === -1)) {
var params = {
type: 'POST',
url: '/cart/add.js',
data: 'quantity=1&id=' + Shopify.toAdd,
dataType: 'json',
success: function(line_item) {
window.location.href = '/cart';
}
};
jQuery.ajax(params);
}
</script>
{% endif %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment