Thursday, 21 May 2015

Sample Site for Merchello with Umbraco

For a while now, since last Codegarden in 2014 in fact, I've been planning to take a look at Merchello, an e-commerce framework for Umbraco. In the past I've made use of uCommerce which worked well for the project but the fact that, like Umbraco, Merchello is open-source is one factor that makes it attractive to consider for future projects.

So on and off for the past few weeks I've built out a very basic store site. Really doesn't look like much and has little in the way of bells and whistles, but implements a number of the core features required for an e-commerce website, namely:

  • Product category and product pages
  • Products with variants, with price and availability indicated for the particular variant selected
  • Basket page with quantity update and option to remove
  • Billing and shipping detail collection
  • Delivery method selection and application of postage & packing costs
  • Selection of payment method
  • Integration with a credit card processing provider, Authorize.Net
  • Presentation of confirmation screen

Nothing in the above is particularly off the beaten track when it comes to Merchello - there are a number of extension points available that I've not dug into yet.

That said, in building this out I did find myself digging into a number of documentation pages and examples (plus forum posts of course) which as is often the case with a fast moving project, sometimes struggle to keep up with the latest features.

I've also followed some stricter MVC patterns I like to use with Umbraco development, which is to use route hijacking, strongly typed POCO view models and mapping with Umbraco Mapper and AutoMapper from my Umbraco content and the Merchello APIs and objects respectively.

For both those reasons think it's worth sharing and may be of use for anyone else making a start with this product. Code is up at GitHub.

9 comments:

  1. Hi, I've tried getting this to work locally using your github files, but can't find the database. Can you advise?

    Thanks

    ReplyDelete
  2. I hadn't provided that in the files no, you'd need to install Umbraco and Merchello and then set up a few document types and products. I've added a database script to set this up from scratch to the repo now - in the root called mercello-demo-db.zip

    ReplyDelete
  3. Got it working, thanks.

    One question.

    "Products with variants" - I was hoping you'd have played with text based variants, that would be handled like unique products on the same SKU.

    ie. If i added custom height, custom width to the wellington, which is populated using text field.
    If one wellington had height 50, width 50 and another had height 60, width 60, they would be shown as 2 separate products with 2 different prices.

    Have you ever done anything like this?

    Thanks

    ReplyDelete
  4. I haven't I'm afraid no. Would recommend the forum for Merchello on our.umbraco.org as best place for questions on the package.

    ReplyDelete
  5. Nice simple demo but there's no admin account to look at the back office. Only one in the sql script is yours, i.e. username = 'Andy Butland'. A response of "don't be so bloody lazy" will be entirely understandable ;)

    ReplyDelete
    Replies
    1. Not at all... good point, database script not much use without that. I've updated the script and added details of the back-office admin account on the GitHub readme now: https://github.com/AndyButland/MerchelloDemo

      Delete
    2. Hey thanks! Good to find a slightly more accessible example than the Bazaar site.

      Delete
  6. not login on back office plz provide the suitable details

    ReplyDelete
    Replies
    1. It's noted on the Github readme, but just to respond here, you should be able to use andy@test.com / test

      Please note the blog post is a couple of years old now and I haven't been updating the code samples, so could be Merchello has moved on a bit from and API perspective since.

      Delete