EllisLab text mark

2.8 User Guide Additions: Advanced Templates

We thought it would be helpful to point out some of the additions and changes to the user guide that came with the release of ExpressionEngine 2.8. Today’s topic: advanced templates.

Relative Dates

Relative date formatting gives even greater control on how you present time-based information. There is a great deal of variety and control at your disposal with the relative date formatting parameters that you may not be aware of. For instance, did you know that the format= and timezone= parameters will take over when your stop= parameter kicks in? Or perhaps you even missed that all of your date variables can now be displayed in any timezone.

Modulus Operator for Conditionals

The modulus operator for conditionals was added in ExpressionEngine 2.7.1 last September, and we blogged about it but whoops! We neglected to add it to the user guide until December.

Multiple search:field= Parameter Clarification

In the example of using multiple search parameters in the Channel Entries tag:

{exp:channel:entries search:style="=ale" search:region="germany|belgium" search:rating="=3|4|5"}

We added the following explanation to help clarify how they will interact:

When using multiple search parameters, all search parameters must be matched in order for an entry to be included. The above example would pull back only those entries where the style is ‘ale’, the region is ‘germany’ or ‘belgium’ and the rating is 3, 4 or 5.

Relationship Namespaced Variables

Did you know that inside a Relationship tag pair that you can namespace and use any variable available to the Channel Entries tag, including switch?

Continue Reading

2.8 User Guide Additions: Developer Interest

We thought it would be helpful to point out some of the additions and changes to the user guide that came with the release of ExpressionEngine 2.8. Today’s topic: advanced items of interest for developers.

System Configuration Overrides

Many of the system and site settings that are stored in the database can be overriden in config files. For power users, this can be handy to modify settings in different contexts. They are now fully documented with the config setting, allowed values, and an explanation of what they are for. This type of configuration is an advanced area of ExpressionEngine that you certainly don’t have to understand or use in order to build a site, but some people like tinkering under the hood and for those people we now have all of these parts documented.

RSS Parser Class

Developers, have you seen how simple it is to create SimplePie objects for working with Atom and RSS feeds? The new RSS Parser class allows you to do that. Say goodbye to Magpie.

Pages Module Warning

As a result of things we have encountered while providing support, we have added a warning against excessive use of the Pages module, to help alert site builders before they head down a long dark path that is difficult to maintain and untangle.

Caching Drivers

ExpressionEngine 2.8 added memory-based caching options, but if you haven’t changed your cache storage settings, you are still using files and disk I/O for caching. Are you up to speed on these new drivers, and what you need to ask your host to enable to take full advantage of them?

If you are an add-on developer, have you updated your add-ons to take advantage of the new Cache Class so that your users are able to benefit fully from utilizing memory-based caching?

Pagination Class

Third-party developers historically were left to their own devices to add pagination to their add-ons, often copying/pasting from first-party modules to do so. This worked okay, but each of our modules had collected slightly different ways of handling pagination, with slightly different featuresets.

So we took our first steps to abstract things out to a useful Pagination library in version 2.4.0. That was refined and improved while it was in use on Channel Entries, Comments, and the Search module. In 2.8.0, we moved all first-party add-ons to the unified Pagination library, and simultaneously released final developer documentation as it is now stabilized and recommended for all developers to use.

Continue Reading

2.8 User Guide Additions: Templates

We thought it would be helpful to point out some of the additions and changes to the user guide that came with the release of ExpressionEngine 2.8. Today’s topic: templates.

Template Layouts

Template Layouts are all new to ExpressionEngine 2.8. Have you read how to use them yet?

Template Routes

Template Routes are also new to ExpressionEngine 2.8. Visit this section of the user guide to see how to add advanced fine-grained control to your ExpressionEngine site’s URL structure. ExpressionEngine’s default URL structure is flexible and powerful, but some clients have very specific URL structures that have special needs. Now you can accommodate them without template tricks or a conditionals dance.


Previously the user guide only discussed Channel entry and Comment pagination, but now that pagination has been unified across all first-party modules, it was time to give its documentation some reorganization and refinement.

Path Variable tip

While providing support, we discovered that many users are implementing path variables like this:

<a href="{path='company/employees'}/customer-service/joe">JoeCustomer Service</a

So we thought we would highlight in the user guide that the {path=} variable can accept any number of segments, which makes for more readable templates.

<a href="{path='company/employees/customer-service/joe'}">JoeCustomer Service</a

Simple Conditional clarification

What variables are available in “simple” conditionals? No more guesswork or mistaken assumptions, we’ve documented what’s available at that stage of the parsing engine.

Continue Reading

Southern California ExpressionEngine Training

Are you an agency or freelancer in the Southern California area? There’s one week left to register for Train-ee’s Beginner to Intermediate training class in Pasadena, California (March 5th - 7th).

Train-ee is bringing its time-tested instructor-led live-in-the-flesh classroom training to Southern California. Come out to experience the mild spring weather and rub elbows with fellow developers while learning ExpressionEngine. Bring your projects and get some help and direction!

Train-ee has a tremendous track record teaching ExpressionEngine in-person, including EllisLab certified courses. That combined with the opportunity to brainstorm with fellow students from other agencies and schools of thought is priceless. If you’re in the area (or want to be for a few days), you should definitely sign up and attend.

Continue Reading