Last updated 11 November 2015. Created on 28 April 2015.
Edited by John Carbone, donutdan4114. Log in to edit this page.

Shopify documentation.

The Shopify module provides seamless integration between Drupal and Shopify.

Features

  • This module provides seamless integration of Shopify with your Drupal site.
  • Products, images, tags and collections are synced instantly via webhooks or on demand via batches.
  • Complete webhook support for Shopify events. Listen for events in Shopify and trigger your own events in code. Rules is supported for some webhooks. Watch our tutorial video on webhooks.
  • Product tags and collections are represented by customizable taxonomy terms and pages.
  • Products, tags, and collections are fieldable. Add your own custom fields to Shopify’s. Custom field values are preserved when products are synced.
  • Complete Views support for all Shopify product fields and the “add to cart” form.
  • Creates a customizable set of Views pages for displaying products located at /products, /products/tags/TAG_ID, and /products/collections/COLLECTION_ID
  • Creates a block with links to each Collection page to use as a menu. New collections are added automatically.
  • Provides a cart block which shows the amount of items in a user’s cart and links to their cart. Will create a font awesome cart image if Font Awesome is installed.
  • Product variants and product variant pricing is supported.
  • A Shopify theme generator is included to ensure that the transition from your Drupal site to the Shopify checkout process is seamless.
  • Handy links to edit products and other common places on Shopify right from Drupal.
  • Drush integration to retrieve products, sync, and more.
  • Products are integrated with Drupal core search and custom view modes for search are provided.
  • Currently the module does not tie orders to Drupal users, but it's possible using the Shopify API.

Installation Instructions

  1. Sign up for Shopify. The best way you could say "thanks for the module" would be to sign up for Shopify using this referral link! We'd be super grateful and it costs you nothing. :)
  2. Install the Libraries module if you don't have it already.
  3. Install the Shopify API module. This module must be installed and configured before the Shopify module can be installed.
  4. Install the Shopify API library. This library must be installed before Shopify can be enabled. (just follow the instructions on the Shopify API module's project page).
  5. Finally, install and enable this module.

Syncing

You can sync your products, variants, etc through a few different ways. Using the administration page at /admin/shopify/sync you can pull in products and collections on demand, set up the frequency which cron pulls in the data or use webhooks to capture changes instantly. Follow the instructions on the webooks admin page at /admin/shopify/webhooks

Views

All product fields including images are available for customization, inclusion in your own Views, etc. The Shopify module ships with two default Views of its own. One is for browsing products, tags and collections, the other is for use as a menu for collections. Collection images and descriptions will appear at the top of the collection Views pages.. Using these Views your store will naturally be organized using Shopify's interface.

Webhooks

Watch a quick tutorial video.
The webhooks interface makes it easy to connect Shopify with your site and keep everything up to date. Just use the form at admin/shopify/webhooks and enter your hostname. The form will register the webhooks with Shopify and let you know which webhooks which environments are listening for. Product and Collection webhooks have been implemented in the module to do the obvious jobs of updating, creating and deleting products and collections. You can also implement your own hooks like: HOOK_shopify_webook_products_create When a webhook is registered the module lets you know what to call your hook if you want to listen in code for these events.

Drush

Using Drush, you can easily and remotely sync your Shopify products, query product information, and run API commands.

Valid commands include shopify-products, shopify-sync, and shopify-api.

To sync products or collections, simply run:
> drush shopify-sync products
> drush shopify-sync collections

To view products that have been synced to your site, you can run:
> drush shopify-products
You can apply various options to the query, such as changing the number of products to return:
> drush shopify-products --limit=100

To run API calls, you can use:
> drush shopify-api get products will return all product data.
> drush shopify-api get shop will return shop information.
> drush shopify-api get product/5/variants --options="fields=variant_id,title" will get product #5 variants and only return the variant_id and title fields.

Shopify Theme Generator

Watch a quick tutorial video.
The module provides a simple Shopify online theme generator. The purpose of the theme generator is to strip out most components of Shopify's default online store, since your Drupal site handles this now, but users will be visiting the Shopify online store to manage their cart contents. The theme generator also creates redirects so that if a user attempts to view a product in the Shopify online store it redirects to that product in your Drupal store. This functionality is created using the current hostname of your site so you may need to re-export the theme or update the redirects if your site moves hostnames. The theme generator does not try to create a matching Shopify theme based on your Drupal theme,

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.