Shopkit commerce plugin

Fixing the last two bugs tonight, hopefully before I fall asleep :smiley: :coffee:

Public beta available

Code for the first public beta is complete! Thanks to everyone who provided input during the private beta, especially @distantnative for identifying lots of bugs.

I just need to finish up some docs and set up license key purchasing, then I’ll tag this code as a 0.9 release. This should happen in the next few days.

For now, please clone the repo and test away! Again, anyone who contributes code or identifies issues prior to the 0.9 release will get a free license key.

Getting started
Shop setup
Add categories
Add products


Shopkit v0.9

I’m proud to announce the first production-ready version of Shopkit! I’m tagging it v0.9 because there are still a few features I’d like to implement before I consider it feature complete.

As always, you can get it on Github:

I’ve polished up the Shopkit Docs, and plan to add more helpful hints as time goes on.

For those who contributed, license keys are on the way!


Shopkit v0.9.1

Part bugfixes, part code optimization, and part new features.

There are still a couple major features I’d like to include before v1.0, but it didn’t make sense to keep you waiting. So here’s v0.9.1!

Download .zip from GitHub

Or via the command line:

$ git clone --recursive
$ git checkout tags/v0.9.1
  • Cleaner object-oriented code (code contributions from CelineDesign)
  • Featured products (one-click purchasing from the sidebar)
  • Product thumbnails in the cart
  • More versatile product page layout with simpler “Buy” buttons
  • Product options for variations that don’t affect an item’s price (e.g. t-shirt colour)
  • Pre-filled default values during shop setup
  • Visual tweaks
  • Bug fixes

Shopkit v0.9.2

This is a security upgrade to Kirby 2.1.1, and a small bugfix for broken links in the product template.

Get a fresh copy:

Download .zip from Github

$ git clone --recursive
$ cd shopkit/
$ git checkout tags/v0.9.2

Or update your existing Shopkit installation:

$ git pull
$ git checkout tags/v0.9.2

Version 1.0 is here. More details, docs, and minor tweaks to come, but it’s time to release.


New in v1.0

  • Inventory control
  • New payment logic to support multiple gateways (PayPal only for now, but you can easily add your own)
  • Browse products in slideshow view
  • Onboarding prompts to help new users set up shop options and create their first product
  • Multi-language setup (English and French available right now)
  • New pages visible by default (thanks to the Kirby Auto Publish plugin)
  • Visual markdown editor
  • Admin menu for logged-in users
  • New theme
    • Leaner, modular CSS
    • Minimalist design for easy customization
    • More flexible gallery layout (images of all aspect ratios look great)
    • Thumbnail previews in cart
  • Other changes
    • Use email instead of username to log in
    • Improved order flow (orders are logged even if user doesn’t return from PayPal)
    • Shop is the homepage by default
    • Order statuses changed to “Pending”, “Paid”, or “Shipped”
    • Bugfix: Allow multiple options of a variant in the cart
    • Bugfix: Cart stuck in PayPal sandbox mode
    • Security fix: Rewritebase vulnerability

What is the roadmap for shopkit ?

I need attributes or custom fields

1 Like

I’m interested in your use case, what would you be using custom fields for? If I have a better sense of what you need I can see if it’s feasible for the next release.

Use it as information on the product page. even if it is dutch you will understand it

And for filternavigation

And for filternavigation

Another idea add a product type , for example , download product , shipping product or affliate product
(See Woocommerce or easy digital products)

I could not found it in the docs. The only payment provider is paypal.

For other payment provider how do customers add there adress ?

At this moment i work with magento and woocommerce but make a switch to getkirby next year , much better performance and more flexible.(i create a seperate mobile store while with flat cms it is very fast and customers can not buy directly from me but are redirected to amazon , while that is easier for them to go through the checkout)

But the custom fields and filternavigation are required.

Tip sell the extra feautes as add on or create packages , small , medium , large depending on the features.

Hello, I’m interested on this plugin.
However, I’m quite new into Kirby, can you added more detailed documentation about how to install. I read it that you said just copy and paste the file, but which files/folders?

When I downloaded it, it’s appear like a lot of folders.

If you downloaded the zip file, all you need to do is copy all the files/folders of the unzipped shop kit folder to the root of your server or into a subfolder.

Just be aware, that the panel and kirby folders are empty. Therefore, you need to download Kirby from the website as well, and replace the kirby and panel folders.

If you download the most recent version from the GitHub releases page, the kirby and panel folders are not empty.

Just download Shopkit from this link, unzip it, and the resulting shopkit folder will be the root of your website. Shopkit is a full self-contained Kirby intall, so no need to download Kirby separately.

Version 1.0.1 is here :saxophone:

  • Upgrade Kirby core & panel to 2.2.3
  • Panel improvements
    • Template-specific icons in the sidebar
    • Protect core pages from deletion
    • Autopublish for all templates
    • Some structure fields display in table format
  • Add RDFa data to product templates so rich snippets show up in Google & Bing
  • Support for installing Shopkit in a subdirectory
  • Add Shop settings button in the admin bar
  • Bugfixes & layout tweaks


Version 1.0.2 is here :honeybee:

  • Improved reliability for PayPal transaction confirmation
  • User registration has one name field instead of separate first/last name fields
  • Fixed shipping bug related to updated multiselect syntax
  • Clearer instructions when logging in from /panel
  • Add some padding to the bottom of <main>


1 Like

There must be something in my coffee.

Version 1.0.3 is here :coffee:

  • Bug fixes
    • Fixed login redirect on subfolder installs
    • Removed incorrect help text from Register page
  • Theme options
    • Choose custom colours (Shopkit adjusts brightness to ensure readability)
    • Background colour & image options, including blurred background
  • Panel improvements
    • Improved UI for selecting images
    • Numeric field validation within structure fields
    • Tabbed layout to organize site options and shop settings
  • Added Brand as a default product field (helps with Google rich data snippets)
  • Added hours of operation to the Contact page as a separate field
  • Added Related products to the Default template
  • Stylish photo slider for most templates
  • Updated admin navbar with new icons and Design button for theme options
  • Added currency code (e.g. USD) to Cart page for clarity
  • Set currency to $USD by default
  • Friendlier error page text
  • Sidebar sections are hidden if content is not populated (i.e. categories, contact info)


Hi Sam,

This looks like a great toolkit, I’m downloading it to play around with and style locally before deciding whether to use it live on an upcoming project.

I have a couple of suggestions that would certainly benefit my own use, and possibly other users too:

  1. Discount Codes
    The ability to add/remove promotional discount codes: set text eg. SS201610, set monetary discount eg. 10%, set from/to duration dates eg. 1 Mar 2016 to 1 May 2016. Applicable at multiple levels: site wide, category wide or product only. (Though this may be too complex and site wide may be the only/best feasible option.)

  2. Pay What You Want
    The ability to add a “pay what you want” input rather than a fixed price to a product, allowing the customer to choose their own price to pay. Basically a pay/donate input used in a different way. Again, possibly applied at multiple levels but probably best at product level only.

That’s it for now. It would be great to hear your response and any ideas you might have about my suggestions.

Thanks for your work on Shopkit, it looks very promising as a proper shop solution for Kirby.

Kind regards,

I think @samnabi is releasing a new version of Shopkit very soon which includes the discount codes feature you’re talking about with the duration features you mentioned. :stuck_out_tongue_winking_eye: If you want to play with it, download Shopkit from the ‘dev’ branch on Github.

Hi @mp75, thanks for the suggestions! As @irvin mentioned, I have developed discount codes for the next release. There are discount codes that apply site-wide:

… and also individual sale prices for products that can (optionally) be triggered by a discount code.

So the discount codes and sale prices are loosely coupled, they can be used individually or together. I hope this covers your use cases!

As for pay what you want, that’s a great feature that I think makes sense along with digital downloads. I will add it to the roadmap, but this will probably not make it to the next release.

If you’ve been following the GitHub issue tracker, I’ve been marking a lot of features for version 1.1. I thought I would get v1.1 done sooner, but it looks like that will be a few months away.

In the meantime, I’ll make sure I release a new version 1.0.4, which includes discount codes, before the end of March!

1 Like

Thanks for your reply.

It looks like you read my mind there. The discount feature is just what I was thinking of, and good to see you agree the pay what you want feature could be useful too.

Look forward to that discount code release, cheers for the great work.

Excellent work, Sam! Really looking forward to developing with this and then getting a bunch of licenses from you :slightly_smiling:

1 Like