Choose ProcessWire as Your Next CMS!

Choose ProcessWire as Your Next CMS!

marko 17.05.2017

ProcessWire is an up-and-coming, free, open source PHP CMS and Content Management Framework (CMF). At its heart it’s based on a few simple concepts and it provides tools that are super easy-to-use and extremely powerful at the same time. Here are four reasons to choose ProcessWire as your next CMS.

It’s Based Upon Three Simple Core Concepts: Pages, Fields, and Templates

The input and output of data is based upon just three core concepts, and nothing else. This means that once you understand these concepts you basically understand everything about ProcessWire and the philosophy behind it. Pretty cool, right? So, let me introduce you to pages, fields and templates.

The links you see in the tree are called pages. Pages in the back-end usually reflect the page seen in the front-end.
For example, the “About” page in the screenshot is accessible in the front-end by opening up

But pages don’t have to have a counterpart on the front-end. They can also simply exist in the back-end and serve as data containers for other pages.

For example

I add new template file news.php and add new template for a backend, called "news".
Now I add three fields: Title, images and body. After that add a content for a fields.

Now you can edit news.php:

<?php include "./_head.php"; ?>
<?php echo $page->edit('title'); ?>
<?php echo $page->edit('body'); ?>
<?php if (count($page->images)) { ?>
    <?php $image = $page->images->size(780, 400); ?>
    <?php foreach ($page->images as $image) { ?>
        <img class="responsive-img" src="<?= $image->url ?>" alt="">
    <?php } ?>
<?php } ?>

Inline editing with ckeditor

You can edit text and image fields as "double click" inline editing. Just print field like:
<?php echo $page->edit('body'); ?>

More about that:

Pages in ProcessWire are used for all kinds of things. They can be used as a marker in your pages list. They can be used as a group parent for other pages. They can be used as categories, tags or lists or users. And they can even be used for simple drop-down selects – just to supply a label and value.


Pages contain fields. But fields have to be seen from two different angles. Optically they are part of the page, because when you open a page you see fields which you can work with. Technically these fields are part of the page’s template. I will describe the concept of templates later; let’s first understand fields.
Fields in ProcessWire are the containers into which you put data or from which you select data, like text, textareas, numbers, e-mails, file uploads, other pages, etc. It’s totally up to you how many fields a page contains. It can just have one (e.g. a field for the page title), or no fields whatsoever (not very convenient), or more than 50 or 100 fields.

Different users with different roles

You can add many roles for a users you like and also check which fields, templates and pages they can edit.

API to Fall in Love With

The code in your template files will mostly consist of a few basic PHP constructs like assigning values to variables, if conditions, foreach loops and HTML markup on the one hand, and working with ProcessWire’s API on the other hand.

You can think of the API as a jQuery for PHP. It provides methods, selectors, chaining (fluent interface) and traversing capabilities.

The API is probably the one thing that amazes me the most about ProcessWire: It’s easy to use, easy to understand, expressive, and powerful at the same time. But most importantly it lets you develop in a fast and uncomplicated fashion, and you actually have fun interacting with it. It just makes sense.

The API Cheatsheet is a great reference. It shows all available methods you can work with.

Top 10 movies from this year, what You must see in 2018!

Why wait until December to name the movies you've absolutely got to see? Our best movies of 2017 list starts…

Making Of "The Bad Batch"

Unbelievably, given the violence that Arlen (Suki Waterhouse) endures in The Bad Batch and its ties to that which…

Show Images field in Search Results (Drupal 7)

How to display Images field in Search Results on Drupal 7. That's a tricky question because 7 is a…

Armie Hammer, the next James Bond

Armie Hammer set to be the next James Bond? Rumors that the producers are looking for someone slightly different…

Choose ProcessWire as Your Next CMS!

ProcessWire is an up-and-coming, free, open source PHP CMS and Content Management Framework (CMF). At its heart it’s…

Top 10 movies from a last year, what You must see in 2017!

Believe it or not, Shaun The Sheep Movie was recently announced as the highest rated film of the summer…

Ryoji Ikeda in Tallinn, Estonia

Ryoji Ikeda is a Japanese sound artist. Ikeda's music is concerned primarily with sound in a variety of "raw"…

"Lemonade" the best ad from this year

Confusion erupts in a neighborhood when two kids set up a lemonade stand with music and TV icon, Ice…