Advertisement
PHP

What's PyroCMS?

by

PyroCMS is a content management system that, in recent months, has been growing in popularity, due to its intuitive back-end design and lightweight, modular architecture. Described as “a simple, flexible, community driven content management system,” PyroCMS is easy to learn, understand, and own.


Why PyroCMS?

...More flexible and cleanly organized than other CMS platforms.

In fact, PyroCMS is built using modular MVC, which means (in short) that each part of the system is its own micro-instance of MVC. This allows the system to be more flexible and cleanly organized than other CMS platforms. PyroCMS describes itself as a simple, flexible, community driven content management system.” And because PyroCMS is powered by CodeIgniter (at least for a bit longer, while the team migrates over to a Laravel backend), it is easy to learn, understand, and own.

While it isn’t necessary for you to know the definition of modular MVC to use PyroCMS, it's a good idea to brush up on what it refers to, before you build an add-on for PyroCMS.

PyroCMS Website

Who Develops PyroCMS?

Needless to say, PyroCMS is in very good hands.

The core developers of PyroCMS are Adam Fairholm, Jerel Unruh, Phil Sturgeon, and Joshua Pekera, all of whom make frequent contributions to the project. If you’ve worked with CodeIgniter in the past, you’ve likely run across Phil Sturgeon’s name before. He’s authored a number of very useful libraries for CodeIgniter, including a RESTful server implementation, CodeIgniter-cURL, a popular template library for CodeIgniter, and CodeIgniter oAuth solutions.

In similar fashion, Jerel Unruh wrote some of the largest components of PyroCMS, including the Multi-site Manager, a part of PyroCMS Professional that allows site admins to create, delete, and manage entire websites for their clients from a single interface.

Needless to say, PyroCMS is in very good hands.

Beyond the contributions of its core developers, PyroCMS has grown rapidly to be translated into more than 22 languages and accepted code from over 120 contributors. It is a growing open-source project!


Why Consider PyroCMS For Your Next Project?

There are a number of features that make PyroCMS a very viable option for your new website project. They include, but are not limited to:

Modular MVC

Module MVC is about taking a large project and breaking it down into many smaller, manageable pieces, with each piece of that large project becoming, itself, an instance of MVC. Having this programming pattern at your disposal makes PyroCMS very powerful and highly organized. If you've already downloaded PyroCMS, take a look in this directory:

[site_dir]/system/cms/modules/

If you haven't yet installed PyroCMS, what you'll find within this directory is every part of the core system broken down into a module. This same architecture is also used for system add-ons, and is a big part of what makes PyroCMS so easy to work with.

Control over navigation menus, email templates, and 301 redirects

In the PyroCMS control panel, admin users have the ability to build custom menus/navigation and email templates for use by the system, including add-ons. Admin users can also manage 301 redirects, using the built-in Redirects module.

Easy theme development

This particular part of the system is too large a topic to address in this introduction to PyroCMS, but building a theme in PyroCMS is easier than it is to do in WordPress and other systems, which leads to time savings. At the core of how PyroCMS outputs data is the Lex tag parser. For designers and front-end developers, tags are a simple syntax to display content and perform basic logic operations. For developers, tags are the way in which you can get your data into layouts.

Mobile device detection

A nice feature of PyroCMS is its ability to easily display separate layouts for mobile. As part of a theme, you simply place your mobile layout into a separate folder than your default web layouts. That separation is highlighted in the following examples:

Your default layout would be in a template folder, like this:

your-theme/views/web/layouts/default.html

While your mobile layout would be in a template folder, such as:

your-theme/views/mobile/layouts/default.html

Module view over-loading

Don’t like that default theme layout for the blog module in PyroCMS? Hate the way the comments are output by the system? No problem. You can customize them anyway you wish by overloading the views associated with those modules. PyroCMS allows you to replace any module view with a view inside your theme. Simply copy:

system/cms/modules/blog/views/posts.php

to:

addons/[site-ref]/themes/[theme-name]/views/modules/blog/posts.php

Once this view file is in your theme, you can edit it however you like to get the design you desire. You can learn more about overloading module views in the PyroCMS documentation.

Blog

A blog module comes packaged by default in PyroCMS. Included, if you need it, is Akismet integration to help control spam comments.

Analytics, Akismet, Storage Provider (Amazon S3 and Rackspace), SMTP, and Twitter Integration

Out of the box, PyroCMS plays quite nicely with other services. The files module, for example, offers built-in support for cloud file providers, such as Amazon S3 and Rackspace. You can place a Twitter stream on a page using the included Twitter widget, and even send email from your site using SMTP.

PyroCMS is easy (and I mean easy) to extend

For me, as a developer, the most exciting feature of PyroCMS is how easy it is to extend. Building an add-on for PyroCMS is incredibly simple, when compared to other platforms. Part of its easy-going nature is that you’re working in modular MVC. Also, a module add-on contains a “details.php” that has all of the "meta-data" and installation instructions for the module. Adding a module is as simple as adding a new folder within the “addons” folder, and taking advantage of CodeIgniter. You can learn more about building addons for PyroCMS in the developer docs.


How to Get Started Using PyroCMS

If you are just starting out, though, you can use the community version of PyroCMS.

PyroCMS comes in two different versions: a free community version and a professional version. The differences between the two are few, but include some powerful features. The professional version includes PyroStreams (a module that lets you build custom data streams for your site), a multi-site manager, and more. If you are just starting out, though, you can use the community version of PyroCMS. It's a great choice for small to medium sized websites.

You can download PyroCMS from their website or clone the latest version from GitHub.

PyroCMS Installer

After you’ve downloaded and unzipped the PyroCMS files into your web root, loading the project in a browser for the first time will bring you to the PyroCMS installer. The installer will guide you through the steps necessary to install PyroCMS, including checking your server for the required software. Check out the server requirements page for a detailed list of what you’ll need. The installer, itself, supports multiple languages and can get you off the ground with PyroCMS very quickly.


Learn More About PyroCMS

If you require support or have questions, the core developers and community members of PyroCMS regularly answer questions on the PyroCMS forums. You're also encouraged to pick up a copy of Phil Sturgeon’s new book about PyroCMS, titled Catapult into PyroCMS.

Now, please go discover PyroCMS! You won’t be disappointed. Questions? Leave them below! mm

Related Posts
  • Code
    Articles
    Introduction to WordPress App ThemesApp theme 400
    With the increasing growth rate of WordPress powered websites, the need for WordPress themes is rising. Multi-purpose themes are becoming highly popular among website owners. Many existing themes are built mainly to address blog functionality. But with the growth of WordPress web application development, we are in need of specialized themes for different purposes. These themes are known as app themes. In this article, we going to familiarize with the concept of app themes and their usage in real world.Read More…
  • Code
    Articles
    Strategies For Choosing the Right Premium WordPress Theme for Your Next ProjectPremiumwp
    You have your credit card in hand, and you are ready to buy a beautiful, premium WordPress theme for your next website or blog. But where should you begin? Perhaps a search through Google? Maybe a famous WordPress theme site? Perhaps ThemeForest.net? In this post, I aim to arm you with a few tips that will guide you when choosing a premium theme not only purchase a beautiful theme, but one that will meet your needs.Read More…
  • Code
    Web Development
    Using Polymer to Create Web ComponentsPolymer wide retina preview
    Polymer will help you to easily create Web Components for your web apps, using a similar syntax to HTML.Read More…
  • Code
    Theme Development
    Creating a WordPress Theme From Static HTML: Releasing Your ThemeCreating wordpress theme from html 400
    If you've been following this series you now have a working WordPress theme. Your theme has a number of template files, including a page template and an archive template, and also has featured image support.Read More…
  • Computer Skills
    App Training
    Quick Tip: Customize the TerminalCustomizeterminal preview retina
    It’s safe to say that many Mac users will only rarely be seeing the Terminal. In our age of gorgeous UI, or User Interface, design and there’s an app for that, the need to do things the old fashioned way is diminishing. Nevertheless, when you do find yourself at the command line, you can make it look less intimidating or more like it does in the movies. In this tutorial I'll show you how you can use Terminal’s deep customization tools to spruce up the look of the app to suit your preferences. Read More…
  • Code
    PHP
    How to Create a PyroCMS ThemePreview
    Like most content management systems, PyroCMS uses front-end themes. Though PyroCMS themes are built a bit differently than what you might be used to from other systems, they're still quite easy to create. They're so easy, in fact, that very little PHP experience is required to assemble them!Read More…