//Optimal “basic” field set-up

If you're starting out in building ExpressionEngine sites, you may be wondering what the most optimal combination of custom fields might be. 

Although constantly evolving, we've arrived at a "basic" set of fields that we feel comfortable starting out with almost any site. Today, we'd like to share that list with you.

Without further ado, here's our current setup (field label / field type):

  • Title / Default
  • URL Title / Default
  • Subtitle / Text Input
  • Alternate Link / Text Input
  • Slider Images / Matrix
  • Main Image / Matrix
  • Videos / Channel Videos (or Duktee Video Player)
  • Introduction / Wygwam
  • Summary / Wygwam
  • Body / Wygwam
  • Related Entries / Playa
  • Reorder Entries / Low Reorder
  • Tags / Solspace Tag

In a field group called "Master", this may look like this in your EE back-end:


Now not all fields will be used in all channels but this should give you a good start. Let's take a look at each custom field and its field type:

  • Subtitle: you may need to display a second line of text that accompanies your main title. A text input field without any formatting (let the CSS take care of how it displays) will do. 
  • Alternate Link: use this field if you ever need to override the template's automatically created links (such as the "title_permalink" path tag)
  • Slider Images: Pixel & Tonic's popular Matrix field is the perfect choice to hold the images used in a jQuery slider
  • Main Image: use the Matrix field again to capture the main image and the thumbnail alternate. A 3rd column of simple text input field may be added to hold each image's custom alt tag
  • Videos: if your videos come from YouTube or Vimeo, DevDemon's free Channel Video field is a great choice. For more flexibility, try Duktee's Video Player (of course, you can roll your own with the popular jPlayer jQuery plug-in)
  • Introduction/Summary/Body: Pixel & Tonic's Wygwam is our choice for these WYSIWYG text fields. Drop Wygwam into a Matrix configuration, and add a 2nd cell for per-section footnotes, found in sites like Grantland
  • Related Entries: Playa from Pixel & Tonic is the de-facto go-to field type for any related entries. Make sure to watch for the number of entries it's trying to display, as it may slow the overall speed of the entry form for sites with a large number of entries (if that's the case, try reducing the number down to 250 or 500 entries)
  • Reorder Entries: this field should be hidden using Publish Layout tool, but Low's Reorder Entries field type is highly recommended if you'd like an easy way to control the display order of any entries loop
  • Tags: let site content providers or site visitors tag each entry using the (venerable) Solspace Tag module

Now in the old 1.x days we used to control the order of the fields by assigning a numerical value to each field. Of course, with 2.x we have the new (and possibly the most underrated) feature Publish Layouts to control and arrange the fields in a much more flexible and powerful way. (If you missed it, here's our video tutorial on how to use Publish Layouts.)

One of the things we stress is getting used to entering data by using all the tabs (as not to miss the Categories and Options tabs), and dividing the fields into separate (and new) tabs reinforce this idea:

  • Publish: contains the Subtitle, Alternate Link, and the three text fields
  • Images and Media: contains the images and video fields
  • Other: contains Tag and Related Entries fields

Once the form is arranged, each tab may look like the following:

The Publish tab:

The Images and Media tab:

The Other tab:

One of the coolest things about working with ExpressionEngine is the endless combination of custom fields and their arrangements, and ours also change from site to site to meet the different requirements of the project. However, having a set "base" group of custom fields and layout approaches help keeps things consistent, and also gives you a chance to compare client feedback and make incremental adjustments and improvements.

blog comments powered by Disqus