Understanding ExpressionEngine’s Grid Fieldtype

- Ethan Thomas 03.05.2015


ExpressionEngine is a well-known content management system (CMS). Many large organizations around the world use this system to run their websites. The reason is simple - ExpressionEngine is highly customizable, stable, and has a full-time team of developers working to improve it.

One of the greatest benefits of using ExpressionEngine to manage content on your website is that it is easy to use. You don't have to know PHP (the programming language it is written in) to use ExpressionEngine. The makers have kept the user interface user-friendly and simple without sacrificing the system's utility. Add to this the fact that the EE template engine makes no assumptions about how you want to display your content, and it is no wonder that the best front-end designers tend to prefer ExpressionEngine over alternative products.

ExpressionEngine is not only a dynamic content management system; it also has other features like forums and numerous eCommerce add-ons, allows EE to be finely tuned to meet the needs of virtually any use case. ExpressionEngine is also open source, which means it is free to use. With all of these advantages, ExpressionEngine is currently one of the most popular commercial CMS systems on the market.

Thoughts on the Grid Fieldtype in ExpressionEngine

EllisLab, the company behind ExpressionEngine launched the Grid fieldtype for the product in late 2013.

Not many people know that growing competition was one of the main reasons that EllisLab launched this new feature. Prior to the release of Grid, customers who desired to have extremely flexible fieldtypes in the EE channel entries had to purchase Matrix, a commercial third-party add-on from Pixel & Tonic.

In 2013, Pixel & Tonic was one of ExpressionEngine's most prominent third-party add-on providers. Internationally, ExpressionEngine developers relied on P&T's add-ons like Matrix, Playa, and WYGWAM. When P&T released their own CMS software, Craft, EllisLab was forced to make some changes to remain competitive. It was a complicated situation for EllisLab. The ExpressionEngine ecosystem relies on highly skilled third-party developers releasing commercial add-ons which they will support, and EllisLab didn't feel it would be appropriate to compete directly against these third-party developers given this relationship. At the same time, if those same third-party developers were going to release directly competing products, as P&T did, EllisLab couldn't afford to fall behind. Consequently, the Grid fieldtype was released, and has rapidly obliviated the need for developers to use Matrix.

Changes Resulting from ExpressionEngine's Grid Feature

Customers had been waiting a long time for EllisLab to add the features that Grid now offers to the core platform. While many users of EE understood the need to support third-party add-ons, some third-party add-ons became so ubiquitous that it was almost imposisble to build an ExpressionEngine site without them. Some developers believed that this put too much power in the hands of the third-party developers.

Since the new Grid was developed in-house, it is expected to integrate better with the ExpressionEngine interface. Another advantage is that users no longer have to pay for the feature. The launch of the Grid gave ExpressionEngine more independence from third-party add-ons and many, like those created by P&T, have begun to become obsolete. This is what is happening to Matrix and Playa now. The addition of the Grid fieldtype has set a new pace and other players will need to step up their game if they want to stay competitve.

What the Grid Fieldtype Is and What It Does 

Although you may not be familiar with the term "fields" in this context, you undoubtedbly have experience with them. Practically anytime you fill out a form online--whether to subscribe to a blog or to complete a purchase--you are entering your information into "fields," usually in the form of fillable text boxes. These fields collect information in an orderly fashion.

ExpressionEngine also has similar fields or boxes. But before you can create a field in ExpressionEngine, you have to indicate the 'type' of field that you want it to be.

You can choose the type of field or 'fieldtype' depending on the data you want the field to collect. For instance, if you want the field to contain numbers, you will go for a 'numeric' fieldtype. If you want it to contain text, you should go for a 'text' fieldtype.

How to create a Grid in ExpressionEngine

Always specifiy the fieldtype as clearly as possible. It will help ExpressionEngine set up the application properly. For instance, when you want to enter a date, you should select the fieldtype as 'date'. This will create a calender button and enable you to enter the date and not any other type of data.

Here is one more example. If you want to enter a description for some content, choose 'Description' as the fieldtype. Incidently, ExpressionEngine comes with a large number of  fieldtypes. If you don't find one that meets your needs, you can still create custom fields by using add-ons from Matrix, Playa and Pixel & Tonic, which are third party creations.

The Grid allows you to enter tabular data in fixed columns with unlimited number of rows. It can be  anything from pricing variations for online stores to quarterly numbers for informational sites.

At one time, EllisLab provided no option in ExpressionEngine to add rows of related content. Now, you can add as many rows as you want inside an entry. You can also configure the Grid for multiple columns, each column capturing data in different fieldtypes. You can add third party Grid compatible fieldtypes, if you are more comfortable with such add-ons (many web developers have become used to third party add ons and may prefer to continue using them). You can have as many rows in the Grid to suit your needs in relation to that entry.

Tips For Using the Grid Fieldtypes

Let's suppose that you want to create a Gallery on your website. Now you can do this through ExpressionEngine.

Begin by creating a Grid called 'Gallery'. Then add image fieldtype and a rich text editor fieldtype for the descriptions. If you want, you can also add a fieldtype for photo credits. Did you know that you can also adjust the Grid for numerical data. Apply a relationship fieldtype if the numbers are connected.

You can also search the Grid for data (column wise)- a valuable tool if you have a lot of information in the Grid and you need to quickly zero down on the data that you want. Just make sure that you mark the fieldtype as 'searchable' before you create the entries, otherwise you won't find the results you want.

Final Thoughts on ExpressionEngine and the Grid

The new Grid has made a huge difference to the utility of ExpressionEngine. The feature makes it easy to enter and retrive data from websites that are using ExpressionEngine. The feature has become quite popular in the short while it has existed. We are sure you will love it. We did.

schedule a call