Since 2011 we have developed and delivered great websites using Modx. We still love it but have been on the lookout for a cms with a more modern touch and, if possible, built on our favourite php framework Laravel.
September 1st 2016 was just a regular day. We had decided to go up to the mountains here in Jämtland Sweden where we have a small cottage trying to find some cloudberries. During the evening i was browsing the web when i decided to look for a cms i had heard was being developed on Laravel.
That’s when lightning struck! PyroCMS - We fell in love!
Field types (modx template variables)
A website has many different content areas. And they should all be easily editable.
Field types allow you to select a type of field, and attach it to a page. Let’s say you need a section on your website where you want to have an image with text on top of it.
We would then attach an image field type and a text field type to your page. You would then be able to select an image and enter a text and we would be able to use a reference to these fields in our code to display it the way you require it.
These kind of field types are an absolute must in a cms to be able to design and develop a flexible, powerful and bespoke website.
Grids - Blocks - Or whatever you want to call it.
PyroCMS call it grids, others call them blocks. Different names, same meaning. But PyroCMS does it better!
As a developer back in the old days you either had to work really hard to allow clients this control, but still make sure they were not able to destroy the design of the website.
Often developers included a wysiwyg editor where the client could add content. This is a bad solution, since it’s very easy to do things that you should not do. And the result is more than often a website looking like crap and sometimes not even possible to use.
Grids / Blocks to the rescue
These are built up by single field types or combination of field types. A grid or block of fields, is a predefined section of your website.
A simple example is if you would like to add a section of three columns to your website. Each column should have an image, a title and a textarea.
In the cms, you create a predefined grid for this section. And as soon as you want to add such a section to your website, you select it.
You are then presented with three areas within the cms containing: image field, a text field for the headline and a textarea field for the text.
Again, as with the field types explained above, we are able to reference these fields in our code to setup and design this area of your website. Since you are not able to add something you shouldn’t, you can not destroy your website. And we are able to have full control over the design including white space and structure making sure your website stays looking great!
Being able to develop our own features and custom functionality with ease
Earlier, a website was often a way to present your company and show how to contact you. Today, a website is much more than that. And the use cases will grow in a near future.
More and more of our clients has specific requests and requirements they desperately need to take their business to that next level. That is why we have to choose a cms built to develop with. PyroCMS is the greatest Laravel development platform we have seen so far.
You are able to spin up a module in only a few minutes. And you are able to develop laravel applications and use the cms only when / where necessary.
Based on Laravel
We have been developing web applications with laravel since 2012 and love it. Even though we were looking for any modern cms to switch to, we always hoped it would be based on Laravel.
Laravel is probably the most popular php-framework today and it has a very large worldwide community.
We did have a go with October since it is also using Laravel. But we didn’t like it for a number of reasons.
When we started having a look at Pyrocms we were happily surprised. It had a modular approach which we loved. You can attach and detach modules you don’t need or want for some reason. And it’s possible to also add it to an existing laravel application. WOW!