http://www.developer.com/lang/shopify-e-commerce-application.html

Back to article

Shopify for Simplified E-Commerce Web Projects


August 11, 2011

In addition to regularly splashing ink on the pages of Developer.com and PHPBuilder.com, I spend a fair amount of time consulting for a variety of clients large and small. Lately the focus has turned to e-commerce, with businesses large and small seeking to establish an official online sales outlet for products which have long been sold through retail or third-party online outlets such as eBay or Etsy.

But this transition is rarely easy. Even the least ambitious e-commerce store is a fairly complex undertaking, with success dependent upon:

  • an eye-appealing design
  • the ability to integrate a CMS such as Drupal or Joomla with an e-commerce module such as Übercart
  • the purchase of an SSL certificate
  • establishment of a merchant account and payment gateway

To say nothing of integration with existing accounting and CRM software.

A staunch KISS advocate, I've lately been directing many of these clients towards Shopify, a hosted e-commerce application which greatly reduces the level of complexity required to effectively create and launch an online store which integrates into a business' existing infrastructure. If you too are a Web developer who regularly fields such projects, read on to learn more about how Shopify can make your life infinitely easier and your clients infinitely happier.

Template Integration with Shopify

Today's Web developer suffers from many of the same misconceptions long endured by medical doctors. Just as a podiatrist is not a gastroenterologist, neither is a Web developer (typically) a Web designer. A strong understanding of HTML and CSS does not always translate into design capability, and for that reason I often struggle with making things look "right", referring to this frustrating process as "putting lipstick on the pig".

Shopify's Theme Store saves similarly graphically challenged developers from countless hours of frustration by offering over 100 paid and free store themes which are easily integrated into a Shopify site. These themes, which are submitted by third-party designers, must be approved by the Shopify team before being accepted to the Theme Store in order to ensure certain guidelines are met, including notably proper usage of the Liquid template language.

Resembling Smarty and Rails' native layout syntax, Liquid's intuitive syntax makes it easy for developers to take the reins and further modify the template to their client's liking. Based on simple markup directives which signal escapes into and out of dynamic content, you'll embed the Liquid syntax directly into the templates, outputting dynamic data and performing other tasks as needed. For instance, to display your store's name within a template, you'll use the following Liquid syntax:

Copyright 2011 <strong>{{ shop.name }}</strong>

The shop.name variable is just one of numerous variables at your disposal. See the Shopify wiki for more information.

It's also possible to embed Liquid-based logic into a template. For instance you might use an if-conditional statement to offer a special message to customers based on a product's availability:

{% if product.available %}
  <p>
  Buy your copy now before it is gone forever!
  </p>
{% endif %}

Secure Payments and Fulfillment Integration in Shopify

Integrating, let alone explaining, the various links in the online payment chain (SSL, payment gateway, and merchant account, among them) is often quite a laborious process. Shopify eliminates the need to purchase an SSL certificate (which typically cost anywhere between $89 and several hundred dollars), and supports almost 60 payment gateways in addition to PayPal and Google Checkout.

Following the sale your customer will require an efficient fulfillment solution, and may prefer to depend upon a third-party service such as Amazon Fulfillment. Support for Amazon Fulfillment and other services are integrated directly into the administration dashboard, allowing for automated shipment notifications to be sent to these services.

Extendability Through the Shopify App Store

Your client's glee over the deployment of their new online store will soon be replaced with requests to extend the website to suit new and changing requirements. Adding new features to such a relatively hefty bit of software can be an incredibly time-consuming process, one which could quite possibly quickly exhaust your client's patience and resources.

Shopify presents a great solution to this dilemma via its App Store, offering dozens of third-party applications which not only enhance native Shopify features such as providing customers with an easy way to lookup order status' but also integrate with popular email services such as MailChimp.

Shopify's Mobile Integration

To paraphrase Winston Churchill, "Nothing in life is so exhilarating as to receive a payment notification e-mail." Although I've been selling books via WJGilmore.com for years, receiving real-time payment notifications via my mobile phone remains a daily treat. It's likely your clients will also enjoy real-time access to sales data. Similarly, with mobile usage skyrocketing, customers are coming to demand, rather than hope, that an e-commerce website is optimized for non-traditional Web browsing devices.

To satisfy the former requirement, Shopify offers an iPhone app via the iTunes App store called Shopify Mobile which among other features provides the store owner with real-time access to product inventory, customer and order information, and new order push notifications. The latter expectation is assisted at the payment stage due to Shopify's automated application of optimized layouts for mobile devices.

Easy Customer Notifications in Shopify

Although newcomers to e-commerce might not consider convenient customer correspondence to be at the top of their online store wish list, several years of managing my own online sales dictates otherwise. Customers reasonably demand to be kept in the loop regarding all stages of the transaction process, receiving e-mails directly following the sale, following shipment, and following any changes to shipment such as an unexpected delay. The Shopify administration console offers a simple way to manage the templates used for these e-mails, structured with the same Liquid templating engine used for the website layouts.

Conclusion

Have you used Shopify to roll out an e-commerce project? Share your war stories in the comments for the benefit of other readers!

About the Author

Jason Gilmore -- Contributing Editor, PHP -- is the founder of EasyPHPWebsites.com, and author of the popular book, "Easy PHP Websites with the Zend Framework". Jason is a cofounder and speaker chair of CodeMash, a nonprofit organization tasked with hosting an annual namesake developer's conference, and was a member of the 2008 MySQL Conference speaker selection board.

Sitemap | Contact Us