An output framework for ProcessWire.

Wireframe ProcessWire module and output framework

Wireframe is, in the lack of a better term, an output framework for the ProcessWire CMS/CMF. It loosely follows the MVC (Model-View-Controller) architecture, introducing concepts such as View Controllers to ProcessWire site development.

Technically Wireframe is a combination of a ProcessWire module - called Wireframe - and a set of related classes. Certain features are bundled into a separate module called Wireframe API; this optional companion module can be used to quickly set up a JSON based API.

This README file provides basic instructions for setting Wireframe up. More detailed instructions can be found from, and if you'd like to see an example site using Wireframe, be sure to check out

Getting started

  1. Download and install the Wireframe ProcessWire module

There are a couple of ways to get the module:

  1. Set up the Wireframe directories within the /site/templates/ directory

If your site already has identically named folders you can call them something else, as long as you also adjust the paths in config settings ($config->wireframe array) accordingly. For more details visit

Alternatively you can install the site-wireframe-boilerplate site profile, available from GitHub: This is a complete site running on Wireframe, so you may find it useful if you're just starting a new project, but it's not something you'd want to use if you've already got an existing site set up.

  1. Copy wireframe.php from the module's directory to /site/templates/wireframe.php

This is the file that bootstraps Wireframe. If you want to pass variables to Wireframe during init or render phases, you can directly modify this file.

  1. Add wireframe as the alternate filename of the template(s) you want to use Wirerame for

This can be done via the Alternate Template Filename setting found from the template edit screen, and will redirect requests for pages using those templates through the Wireframe bootstrap file.

Note: you don't actually have to route all your templates through Wireframe. In case you want to use other output strategies for some of your templates, that will work just fine: just skip step 4 for those templates.



This project is licensed under the Mozilla Public License Version 2.0.

Install and use modules at your own risk. Always have a site and database backup before installing new modules.

Twitter updates

  • Introduction to an invoice application profile being built in ProcessWire: More
    30 September 2022
  • Stumbling upon a really nice ProcessWire-powered website, plus core updates including API improvements for ProcessWire forms— More
    9 September 2022
  • Useful new dot-and-bracket syntax options added for page.get() method— More
    2 September 2022

Latest news

  • ProcessWire Weekly #438
    In the 348th issue of ProcessWire Weekly we're going to cover the latest weekly update from Ryan, take a closer look at a couple of new third party modules, and more. Read on! / 1 October 2022
  • Multi-language field translation export/import
    In this post we cover the details of a new module that enables export and import capabilities for multi-language fields in ProcessWire.
    Blog / 5 August 2022
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull