ExpressionEngine for Beginners: Common Problems
Category: ExpressionEngine - Published: Oct 21, 2011 - Tags: expressionengineExpressionEngine is a great content management system and I especially like it because it is so easy for designers and front-end developers to use. But with anything unfamiliar, there will be some stumbling blocks along the way. Here are a few of ideas I found confusing when I started out with EE.
For ExpressionEngine newbies, also check out the new Complete List of ExpressionEngine Resources for Beginners. A great reference and starting point, with hours of resources to look over.
Dynamic=“no”
Always a stumbling block for new EE developers. Whenever you need to use a channel:entry
and do not want to pull data from the URI segments, use dynamic=“no”. This especially comes into play on single entry pages. If you’ve created a channel entry and it is not displaying any information or is displaying the wrong information, and you know the markup is correct, try adding dynamic=“no”
and you may solve your problem.
{exp:channel:entries channel="work" dynamic="no"}{/exp:channel:entries}
Dyamic No is typically used for creating dynamic sidebar content, like say a list of popular products, category navigation or any time you need to pull channel information that is not based on the URI.
Confusing Template Tags and Variables
Getting familiar with the templating language can take some time and often you can get caught up thinking a tag does something because of it’s name when there is actually another tag that does the job you are looking for. Especially if you are looking at the Quick Reference you may see a couple things that all look like they could do what you want. Just remember everything is broken down into it’s own area for a reason. For example, there are a number of ways for creating links in ExpressionEngine but always remember path=”“
is the one you will use most often and can be used anywhere. Tags like url_title_path=”“
and title_permalink=”“
can be used for the same thing but in more specific situations.
Single Entry Pages vs. Multi-Entry Pages
This is something that could be a little hard to grasp for beginners and can lead to a lot of problems because these two types of pages play by different rules and some tags and template variables work on one type but not the other. Here is an example.
Paginate vs. Prev_Entry & Next_Entry
Both are used for pagination but the first paginate
is placed inside the exp:channel:entries
tags and can display either a numbered list of additional pages or the next and previous pages of entries (this can cause some confusion). On the other hand next_entry
and prev_entry
are used on single entry pages only to show the entry that came before and after the one you are on. I remember when I was just starting out, trying to figure out why pagination was not working on my single entry pages, not realizing there was a whole other set of tag pairs for that.
Here is a post explaining this topic The Importance of Semantics. A little old but still relevant.
Getting Help
Often you will have to figure out problems on your own but there are some good resources to turn to. The EE User Guide has been revamped for the 2.3 and it has some major improvements. The ExpressionEngine forums are also a good resource for finding answers to common questions. If you are thinking of writting a post your question has probably been asked a number of times before, but that option is available and you should get a response from someone within a day or two. The biggest problem with the forums is being able to actually finding the information you are looking for. Google does not crawl the forums so searching will not provide very updated results. You will get a lot of EE 1.0 information. And the built in search on the ExpressionEngine website is very poor, bordering on being unusable, but I believe this is something that is being addressed in a future update. Another good resource is Twitter. The EE community is pretty active if you need to ask a question, just remember to be respectful.
What were some of your first stumbling blocks, when working with ExpressionEngine early on?