Contexts are fundamental to CTools, and they almost always start with an argument to a panels page, so we'll start there too.

We first need to process an argument.

We're going to work with a "Simplecontext" context type and argument, and then with a content type that displays it. So we'll start by with the Simplecontext argument plugin in plugins/arguments/

Note that the name of the file ( is built from the machine name of our plugin (simplecontext_arg). And note also that the primary function that we use to provide our argument (ctools_plugin_example_simplecontext_arg_ctools_arguments()) is also built from the machine name. This magic is most of the naming magic that you have to know.

You can browse plugins/arguments/ and see the little that it does.