How to make custom plugins?

Here's a sample plugin that we think will answer most questions you might have regarding how things are done in Pancake: https://github.com/pancakeapp/sample-plugin

Unzip it, place it in a new folder in /third_party/modules, and it should show up in your admin (top right menu, under “Plugins”). This plugin shows you how to:

There may be some gaps in the plugin APIs, but we have the ability to immediately ship updates to add whatever functionality/APIs you need, so that you won’t need to modify the core of Pancake. We have a fair few events we can hook into (undocumented, much to our chagrin), and there are several models that we use, that you can read through and can make use of, in order to build your plugin.

Additionally, if there’s any way we can help, by looking up what events/functions you should use, or letting you know how something is to be used, feel free to treat us as your personal Pancake StackOverflow. ;) We know the entire Pancake codebase off by heart and are likely to be able to immediately answer any query you might have.

We know how hard it can be to develop with an existing codebase if there is no thorough documentation, so if you have any queries or need any help at all, just start a free support ticket or start a live chat, and we'll answer any queries you might have in an instant, and even help you with any code problems you might have. We want to help as much as possible.