Become an ExpressionEngine Superstar in 5 days

Become an ExpressionEngine Superstar in 5 Days: Part 2

Apr 21st in Other by Richard Tape

Continuing on from part 1 in this series -- where we briefly looked at why we would consider paying for a CMS, then went on to install EE and have a look around -- we will now delve much deeper into what makes ExpressionEngine such a powerful CMS. Many people are put off by its steeper learning curve; today's tutorial will try and alleviate some of those worries.

PG

Author: Richard Tape

Richard is creative director for Friendly Design based in Manchester, England and has been designing for the web for over ten years. He has used many Content Management Systems in the past but has recently been pointed in the direction of - and has thoroughly enjoyed learning - EllisLab's ExpressionEngine. He's a hard man to win over, but rumour has it Haagen Dazs Strawberry Cheesecake will do the trick. He doesn't like writing about himself!

Enough toying around, I want to do something good!

Cool it, cowboy (or cowgirl)! Unfortunately we have to do some homework before we can get down to the nitty gritty. By far and away the most common cause for concern when developers pick up ExpressionEngine for the first time is the terminology that EE utilizes to describe its structure and functionality. They're not necessarily confusing, they're just different from pretty much everything else on the market. Once you've got your noggin around the basics, you're well on your way to converting your existing valid xHTML/CSS sites to an ExpressionEngine-friendly design.

The ExpressionEngine Docs homepage

The EE Documentation is an invaluable resource. Bookmark and refer to them often!

Weblogs - probably not what you thought they were

If you're already accustomed to other Content Management Systems - notably WordPress and Joomla - chances are you probably think you know what a weblog is. Well sunshine, you're wrong. An ExpressionEngine weblog isn't a description of everything - the information and the pages which that information is displayed on. This is a really important concept to wrap your head around.

An ExpressionEngine 'weblog' simply consists of information. In the same way that you should be separating your content and style with regards to your xHTML and CSS, EE allows you to separate your content (weblogs) from your styling (templates - more on those shortly). You need to think of a weblog as a container for information that is stored in the database that EE uses.

The official documentation conveys it well - so who am I to reinvent the wheel...

Because ExpressionEngine makes no assumptions about the placement or format of a Weblog's content, you can present the content of your Weblogs on your pages in thousands of ways, structured and organized in a way that makes the most sense for your content.
The ExpressionEngine Templates homepage

Templates - probably exactly what you thought they were

Templates are ExpressionEngine's way of displaying the data which you've stored in your weblogs. If, for a moment, you think back to the good old days, when the term 'global financial crisis' referred to the 1930's, politicians actually did some useful work and... (I digress...) web pages were static, then you can think of a template as a static html page. Even though ExpressionEngine is a dynamic CMS - there are no static html pages (well, sort of). If you think of a template file as such, you will begin to see the bigger picture.

ExpressionEngine takes care of turning a template into a web page when someone visits your site. A template can contain tags which allow you to 'drag in' content from your weblogs (or elsewhere, if necessary).

Adjust Templates

A huge feature of EE is the fact that you're able to adjust your templates from your control panel. Many CMS's have this ability, but to be frank, the implementation is usuallyawful. EE's way of allowing you to adjust everything with their own custom tags (more on these later) from within the control panel is, quite honestly, awesome. You no longer need to faff around with editing a file, then uploading it using your chosen FTP program, then going to your browser and refreshing to make an amendment. EE's control panel and specifically its "Edit Template" functionality is first class and, I believe, unrivaled. (You are able to save your templates as flat files if you wish to be able to edit them in your chosen editor, coda/dreamweaver etc. - we'll walk you through this process in another tutorial)

Template Groups - Does exactly what it says on the tin

One final point of note with regards to templates: you are able to group them as you see fit. A Template Group is a collection of related templates which you are best thinking of as a folder on your file system. You might have a template group which 'groups' all of your site-wide templates, such as the information in your footer, header and menu. On the most part, these are 'static' files (bare with me here) so you could call your template group 'static_template_files' and store your header, menu and footer templates in that group.

Template Management within EE

Viewing a template

As you don't actually have any physical web pages on your site, you need to tell EE precisely what you want to look at and then EE will determine what template is shown. If you break it down to its core, you can access a specific page as follows:

http://www.MyWebsite.com/YourSystemFolderName/index.php/template_group_name/template_name/

Pretty straight forward eh? So if you have a template group which is called "Static" and you wish to view your "Footer" template, which is within that group, you would browse to:

http://www.MyWebsite.com/YourSystemFolderName/index.php/Static/Footer/

EE Tags - The magic begins

For the most part, a template file looks like a standard html page. The discerning factor are EE Tags: these let you generate dynamic content within your template files and are the means by which you will be able to utilize all of the amazing features that EE holds within your templates. This section is pretty hard going, please stick with it. Once you have grasped the basics of weblogs, templates, and finally tags, you're well on your way to becoming an ExpressionEngine superstar. Every single ExpressionEngine tag is linked to a module or plugin that allows you to generate or display content.

What does an EE tag look like?

EE Tags

A fine question! The absolute basics are as follows: a tag is surrounded by curly braces - one's that look like this: { ..... } - and typically has three components.

  1. The first part tells EE that you are writing a tag
  2. The second part is the module that you are referring to
  3. The third part is the specific function from within that module that you are using.

A tag looks like this:

{exp:weblog:entries}...content...{/exp:weblog:entries}

This tag tells ExpressionEngine to run the "entries" function which is found in the "weblog" module. Pretty much all tags have three segments such as this, however, now and again there will be plugins which have only two. Just bare that in mind for now.

There are two types of EE tags - single tags and tag pairs. If we follow on our HTML and CSS analogy from earlier, we can think of single tags as self-closing html tags such as an image tag or a horizontal rule. These tags fetch a single piece of information and do not have a closing tag. These sort of tags will be most familiar to WordPress developers as the vast majority of WP code is self-closing 'single' tags.

The other type of EE tags are tag pairs. Again, following on from our earlier analogy, a tag pair is pretty much identical to standard html tags such as the heading, paragraph or div tags - you have an opening tag, content and then a closing tag. Tag pairs are designed to return several pieces of information. The example above is a tag pair - the 'entries' function from within the 'weblog' module is designed to return several entries from your weblog (in fact in its current format it returns all of the information from your weblog - as long as the correct variables are in place) - You'll use this, in one form or another, an awful lot when you create your own templates (and we'll be seeing it later on in this series when we create our own templates).

EE Tag Variables

Most tag pairs will contain variables - you can think of these as a single piece of information being retrieved using the function which is invoked when you opened the tag pair. For those WordPress developers out there, you can think of variables in exactly the same way as they work in WordPress ... you type the variable name and the information that you requested is displayed in your template. The easiest example of this to grasp is by using the weblog:entries function - which we'll use in its most basic form, thus:

{exp:weblog:entries weblog="movies"} 

<h2> {title} </h2>
{if summary}
  {summary}
{/if}

{body}

{/exp:weblog:entries}

Here we've introduced a couple of new things - Parameters and Conditional Variables. We'll break down the above code line by line and explain what's going on.

{exp:weblog:entries weblog="movies"}

We've attached a parameter to the end of the opening part of this tag pair. We've told ExpressionEngine to invoke the 'entries' function from the 'weblog' module and then we've told it that we want to load the 'movies' weblog. This means that only the information that is stored in the 'movies' weblog will be displayed between here and the end of the closing tag pair. The 'entries' function (and the weblog module) can take many parameters and you will be using these the most throughout your templates. The official docs for this particular module list all of the available parameters at http://expressionengine.com/docs/modules/weblog/parameters.html and as you can see, you can 'filter' what you want displayed to a huge degree. This page is probably worthy of a bookmark too!

<h2> {title} </h2> 

Now we've chosen our weblog, we can get information from it - here we've told ExpressionEngine to output the titles of the entries we have in the 'movies' weblog. This is an example of how we use a variable.

{if summary}
  {summary}
{/if}

This piece of code, for me and many other developers, highlights one of EE's primary strengths. This is called a Conditional Variable. As you can see we have told EE that if there is a summary for the entry then we should display it. Conditional variables are extremely useful (and are one of the 3 types of variables that are available in EE - the other two being Single Variables and Variable Pairs which we will touch on later in this series).

{body}

This is similar to the {title} variable above - but instead we are outputting the main body of the entry.

{/exp:weblog:entries}

This is the end of our tag pair - notice we don't need to include the parameter, we're just closing off that particular tag - we're telling EE that we no longer wish to be using the entries function in the weblog module.

But where do I do all of this cool stuff?

Creating a new EE Template

OK, so now we know what certain aspects of EE code looks like and we have some understanding of the basics behind displaying information that we want. But how do we go about putting this into a real world example? Let's do precisely that. Let's create our own template which displays just the information that we want!

The first stage is to log in to our control panel - we do this by navigating to our system folder. In the first part of this tutorial we renamed the system folder "NotTheSystemFolder" so we need to go to http://www.MyWebsite.com/NotTheSystemFolder/ (or wherever you installed ExpressionEngine in Part 1) - this will bring up the login page. Enter your credentials and you will be at the main 'dashboard'.

Click on "Templates" and you will be presented with the 'Template Management' Page. This particular page is amazingly useful, but at first glance is quite complicated.

On the far left we have the template groups (remember them?) - we currently have *site and search in our list (this is if you haven't made any adjustments to the standard setup). *site is highlighted and we are able to see the currently available templates that are in this 'group' towards the middle of the screen. If you click on "search" in the templates group, the available templates changes. As you have probably guessed, this template group lists all of the templates that are used whenever someone searches for something on our site. The three that are currently used are 'index', 'results' and 'search_css' - clicking on the title of any of these brings up the edit template screen. However, for now, don't do that - we want to go back to the *site template group and look at some of the templates in there - so click on *site and the templates changes back again.

Between the Template Groups list (with *site and search) and the list of Template Name's you will see a column called "site" (as long as you have the *site template group selected) - the menu with "Preferences, New Template, Edit Group, Delete Group and Export Templates" is the one we want ... as we're creating a new template, we naturally, want to click on "New Template"

We need to name our template name - all one word (dashes and underscores are allowed) - we'll call our one "testTemplate" Next you need to select what type of template this is - the drop down box lists several options such as Web Page, RSS Page, CSS Stylesheet, Javascript, Static and XML. Most of these are fairly self-explanatory, but we'll be going through some of these in a later tutorial. For now, we're creating a new web page, so we'll leave it selected as that (it's the default). You are then also give then option to populate your new template with already existing data or one from your library. For clarity, we'll select the default which is "None - create an empty template".

Editing an EE Template

You're now taken back to the Template Management page with a little message which says "Template Created" and you will see in the list that between the templates called "Smileys" and "Trackbacks" is our one called "testTemplate". We now need to click on the title of it so that we are brought to the 'Edit Template' page. You'll see that (because we told EE to do so) that the template is currently empty - there's nothing in the 'Edit' box - if we'd selected to populate our template with data from another template, then you would have seen some code here.

You will see towards the top right that there is a big green button which says "View Rendered Template" - clicking that at the moment is a little unnecessary as you'll just get a big blank screen. However, when we have something coded, we'll be able to use this button to preview our template. Below this button you'll see the Revision History drop down box - when you save your templates, you will have a list of the amendments that you've made here so you can rollback to a point in the past if you make a boob.

Underneath the edit box (and just above the "Update" and "Update and Finished" buttons) you'll see a bar which says "Template Notes" - it's currently collapsed, but if you press on the + icon (or anywhere on the bar, in fact) you'll have another box open up - this is quite a useful little area to make some notes for this template (especially if you're collaborating working on a project).

Less Talking! More Doing!

Fair enough, we've been doing a lot of preliminary work, let's get down and dirty. The first part is fairly straight forward, we need to create a standard HTML page, with the normal headers and containing elements we would have in pretty much all of our standard websites.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<title>ExpressionEngine Template</title>
</head>
<body>
	<div id="container">

	</div>
</body>
</html>
	

So, nothing new here - bog standard xHTML strict page with a container div. (Note: for brevity, I haven't included a full version of my standard header with metatags etc.) Now we need to actually get some content into that container so, putting together what we've just learnt above, let's use some EE tags to drag information from our current weblog:

<div id="container">
	{exp:weblog:entries weblog="default_site"}

	<h2><a href="{permalink}" title="{title}">{title}</a></h2>
	<h3>
	By <a href="mailto:{email}" title="email author">{author}</a> 
	{relative_date} ago
	</h3>

	{body}

	<p>Last Edited: {edit_date format="%Y %m %d"}</p>
	<hr />
	{/exp:weblog:entries}
</div>
	

OK, so we've got quite a lot of info here, but stick with it just for a little while. Go ahead and copy that into your "Edit Template" screen (click on 'testTemplate' from within the 'Templates' menu from the dashboard) and then the "Update" button followed by the big green "View Rendered Template" button to see what you've just done.

our Test Template screenshot 1

Not exactly the prettiest thing you've ever created, I would imagine, however, it gets the job done for now. You've dragged in plenty of information from the database using several EE tags and single variables (including {permalink}, {title}, {email}, {relative_date} and {edit_date}) and also displayed the actual entry. Currently our weblog (if you've not modified it since installing) only contains one post, which is why there is only one entry displayed on this page. So what happens if we have more than one entry in our weblog? Let's find out - we'll create some more example entries and get used to the create/edit screen while we're at it.

Creating and Editing

The eagle-eyes amongst you will have noticed that, in the above code, we used the "default_site" weblog when we were dragging in our entry using the weblog module. It doesn't take a rocket scientist to determine that the weblog that is installed by default is called "default_site" - so from our control panel, when we hover over "Publish" (top left) we see "Default Site Weblog" as well as "Edit Weblogs" - this makes perfect sense! For now, we wont bother with editing weblogs (we'll get onto that relatively soon) so click on "Default Site Weblog" and we'll be at the 'Publish New Entry' screen.

Now, we need to go ahead and fill in all the entry boxes - the title, summary, body and extended text - include text which will allow you to identify this entry as the first one we've created (so perhaps a title of "Our first entry" for example) - this way we'll be able to see the display order a little later.

Towards the top of this page you'll see a menu with 7 options (Publish form, Date, Categories, Options, Trackbacks, Pings, Show All) - you should be relatively familiar with these from the first part of this tutorial. Click on Categories and you'll be shown them! If you're coming from another CMS, you'll be familiar with these, if not, categories are basically a 'container' for your entries - they provide a very brief description of what your new entry is about. The default categories as you will see are "Blogging", "News" and "Personal". Select "Personal" for this entry and then click on "Submit" (which is next to "Preview" and "Quick Save" over on the right). You should be greeted by a "New Entry Submitted" message and a rendered version of what you've typed (known as the "View Entry" page.

Creating a new entry

Right then, let's see what you've done! Either go to "Templates > testTemplate > View Rendered Template" or in a new browser tab (you ARE using a tab-enabled browser aren't you? :) ) go to http://www.myWebsite.com/NotTheSystemFolder/index.php/site/testTemplate/ - you should be able to see your brand new entry sat above the default entry! Awesome!

Hey! Where's my "Extended Text"

Good point! Your "Summary" has also disappeared too. I guess you want them back? Well let's finish this mammoth tutorial by finding out how to go about doing just that. As you will probably have guessed, your summary and extended text haven't 'vanished' - it's just that our template doesn't actually tell EE to display them when we view it. So, let's navigate to our Edit Template screen (Templates > testTemplate) and make a few minor amendments as follows:

<div id="container">
{exp:weblog:entries weblog="default_site"}

	<h2><a href="{permalink}" title="{title}">{title}</a></h2>
	<h3>
	By <a href="mailto:{email} title="email author">{author}</a> 
	{relative_date} ago
	</h3>

	<blockquote>{summary}</blockquote>

	{body}

	<em>{extended}</em>
	<p>Last Edited: {edit_date format="%Y %m %d"}</p>

	<hr />
{/exp:weblog:entries}
</div>

	
our Test Template screenshot 2 - with Extended text and summary

So nothing major here - the semantics aren't exactly spot on, but I've put in those extra tags just to highlight what we've done. So if we save and view that, you'll now see that for the article that we created, the summary and extended text are displayed! Perfect! One final thing which will help us later on in this series is for us to display which category our entries are in. The categories tag in EE is unique, simply due to the fact that an entry may be in multiple categories - it is a tag pair, and contains a single variable within them, thus:

{categories}
{category_name}
{/categories}
	

So you can use this bit of code wherever you like - I'm going to pop it at the end, wrapped in a link so that if a user clicks on the category name, they are taken to a page which shows them all of the entries which are within that category, which goes a little something like this:

<div id="container">
{exp:weblog:entries weblog="default_site"}

	<h2><a href="{permalink}" title="{title}">{title}</a></h2>
	<h3>
	By <a href="mailto:{email} title="email author">{author}</a> 
	{relative_date} ago
	</h3>

	<blockquote>{summary}</blockquote>
	{body}
	<em>{extended}</em>
	<p>Last Edited: {edit_date format="%Y %m %d"}</p>
	<p>Posted in: 
	{categories}
	<a href="{path='weblog/index'}">{category_name}</a>
	{/categories}
	</p>
	<hr />
{/exp:weblog:entries}
</div>
	

our Test Template screenshot 3 - adding the category

Is it over? Tell me it's over!

OK, it's over. This is quite an epic tutorial, but when we run through exactly what has been achieved, I reckon you'll be quite pleased, we've:

  • Discussed certain EE terminology
  • How to view templates
  • The magic of EE Tags
  • Created a very basic template
  • Utilised several EE variables, tag pairs and parameters
  • Created some content from the Control Panel
  • Made several cups of coffee

What Next?

We've still got plenty to do in the remaining three days - our current 'template' is a bit pants really, so we should probably spruce it up a bit (a LOT). We also need to learn how to create a fully-fledged template; modify settings in our control panel; learn how to use other modules correctly; and talk about some of the really useful features that EE possesses. We'll also delve into some of the modules and other features that aren't available in the free 'core' version of EE - so stay tuned over the course of the next three postings! Thanks for reading; please feel free to ask questions in the comments below.


Related Posts

Check out some more great tutorials and articles that you might like

Enjoy this Post?

Your vote will help us grow this site and provide even more awesomeness

Plus Members

Source Files, Bonus Tutorials and
More for $9 a month for all TUTS+
sites in one subscription.

Join Now

User Comments

( ADD YOURS )
  1. PG

    Wijnand April 21st

    The first comment.. :-) Great article in a even greater tutorial. Keep ‘m comming!

    ( Reply )
  2. PG

    Yoosuf April 21st

    WOW EE on Nettuts, i gotta read this tonight

    ( Reply )
  3. PG

    Rubber Cheese April 21st

    Thanks for this info, this sounds really useful. We have been using EE for a couple of years now and we love it!

    There are a few things that we need to learn about though mainly for seo purposes. We are in the process of re-formatting the pages so they are better structured for navigation purposes, and for better seo.

    I think your post will help a lot for doing this. To be honest ill probably just be forwarding this on to our seo expert as i only usually deal with making things look pretty!

    but thanks anyhow, im sure this will be really useful!

    ( Reply )
  4. PG

    Kevin Martin April 21st

    Great tutorial! I can’t wait for the modules tut :D

    ( Reply )
    1. PG

      Richard Tape April 21st

      Thanks Kevin, I’m writing that tut as we speak and I’m really enjoying doing so – the best part about EE is that I still learn new bits and bobs every day.

      ( Reply )
  5. PG

    myDevWares April 21st

    Nice tutorial Nettuts…would love to see a similar one for Drupal.

    ( Reply )
  6. PG

    Timothy Post April 21st

    I’d love to see one for the hottest new CMS out there right now, Squarespace.com

    Thanx

    ( Reply )
  7. PG

    Sean April 21st

    Looks like a solid introduction to templating and the weblog:entries tag to me. I’ll definitely be pointing new users tot his entry.

    ( Reply )
    1. PG

      Richard Tape April 21st

      Hey Sean, thanks for the nice words! At the end of the day, I’m still ‘learning’ ExpressionEngine – it teaches me something new every time I use it – and that’s one of the reasons I (and many other devs) love it so much!

      Thanks again for the comment

      ( Reply )
  8. PG

    Steve April 21st

    Excellent! Looking forward to the next part.

    ( Reply )
    1. PG

      Richard Tape April 21st

      Hey Steve! Thanks for the nice words. I think Jeffrey mentioned that he wanted to release these approximately once a week, so make sure you’re signed up to the RSS Feed to know when the next one is out! Love your avatar, by the way!

      ( Reply )
  9. PG

    Rahul Chowdhury April 21st

    Thanks for the tutorial, its really helpful. Can’t wait to try it!

    ( Reply )
    1. PG

      Richard Tape April 21st

      Hey Rahul, thanks for the kind words! Good luck with trying EE out!

      ( Reply )
  10. PG

    Cem Meric April 21st

    My last message on “Part I” didn’t see the daylight so I’m not sure how this one will go.

    It’s all good to have ExpressionEngine tutorials on tutsplus to get other developers attention but I don’t see how the direction of this post is going to achieve this.

    While respecting the enthusiasm coming from Richard Tape and his willingness to learn about ExpressionEngine, deeply failing to see how one can become a Superstar in 5 Days in ExpressionEngine.

    If I didn’t know anything about ExpressionEngine and was coming from say World of Wordpress, there would be no incentive for me to use this product. Everything done here is already implemented out of the box in Wordpress so one might ask why bother.

    Well, that’s where Richard needed to get into more detail. What I mean by that is “custom fields”. Using {body} , {summary} and {extended} without telling the audience, what they are and how they are created makes no sense at all.

    Hoping the following parts talk more about what distinguishes ExpressionEngine from other products on the web and how it excels as a CMS when it comes to flexibility.

    ( Reply )
    1. PG

      Richard Tape April 21st

      Cem, thanks for your well-written and extensive comment. It is absolutely my intention to show what distinguishes ExpressionEngine as a CMS in the following parts, the first couple have been introductions. However, I feel it necessary to say that I believe it is the responsibility of a developer to get “down and dirty” with a CMS – literally chucking themselves in at the deep end. I’ve found the best way to learn is to read some basic introductions, follow along with what the tutor has been doing, then read the official docs and then go off and do my own thing for a while – after that read some more advanced tutorials. Complimenting that, I often buy books on a subject I’m interested in learning.

      This series of articles is to try and get people’s interests piqued in ExpressionEngine and to offer a “way in”. I will be providing more in-depth analysis of what makes EE a great CMS and compare it to others I have tried and used over the years.

      My use of {body} et al. in the tutorial above, I considered to be fairly straight forward and the hope was for people to use the code in their own development environment and see exactly what was produced. If I were to explain everything in incredible detail this tut would have been even longer than it already is. Also, explaining what {body} (and the rest of the EE tags) does and where it comes from is a much more advanced topic, and is something that I might include in a future tut – so thank you for that suggestion.

      Again, thanks for your comment and feedback

      ( Reply )
      1. PG

        james April 21st

        I disagree with Cem’s comment. As a total EE noob, this makes a lot of sense to me. Thanks for the tut.

      2. PG

        Justin Long April 21st

        I have to agree with Cem when it comes to the use of {body} in the text and no mention of where that would be in the Publish page. Something as little as saying:

        “that when you added {summary} or {extended} that they are the short name for that field so EE knows exactly what content to display”

        would be enough to let someone new know where you are coming from with that but stay basic enough that they wouldn’t be confused.

        Other then that and the fact that you have the wrong navigation for displaying a template http://www.MyWebsite.com/index.php/template_group/template/ would be the correct way.

        Great tutorial for starters

  11. PG

    Will Bolton April 21st

    The URL structure for viewing a template is as follows…

    http://www.MyWebsite.com/index.php/template_group/template/

    …which is different to what you state in your tutorial.

    You definitely do not want to add your system folder’s name into the URL. There should never be a reason to expose the location/name of your system folder.

    ( Reply )
  12. PG

    asd April 21st

    Could someone tell me
    EE vs. CMS Mde Simple (cmsmadesimple.org)

    They look pretty same… what is the best one?

    I finally want to go from ASP to PHP and want to start with EXCELLENT CMS :)

    tnx

    ( Reply )
  13. PG

    crysfel April 21st

    looks good! thanks

    ( Reply )
  14. PG

    PXLated April 21st

    Good series!!
    Might point out that the “YourSystemFolderName” in the URL would only be there if the install is in a subfolder. And “index.php” can be removed even though that’s not necessarily clean/easy depending on your setup/host.
    So, most likely, the url will be simply…
    exampleSite.com/index.php/templateGroup/template/something

    Looking forward to the next tut.

    ( Reply )
  15. PG

    Shane April 21st

    Interesting series Richard. Thanks for writing it. By the way, I’m from Manchester too :)

    ( Reply )
    1. PG

      Richard Tape April 21st

      A wonderful place, eh Shane? Thanks for the comment, fellow Mancunian!

      ( Reply )
      1. PG

        Shane April 21st

        The best Richard :)

        Good to see your participation in the comments too!

  16. PG

    Barttos April 21st

    Why not an screen cast?

    ( Reply )
    1. PG

      Richard Tape April 21st

      I’m currently not set up to produce a screencast Barttos, however, if I get enough interest in these comments then I will definitely consider it for the future. Thank you for your comment and I hope you enjoyed the article, anyway!

      ( Reply )
  17. PG

    mjw356 April 21st

    very nice tutorial. I have been looking for something like this for awhile in evaluating whether or not to make the move to expression engine. This is very helpful.

    ( Reply )
  18. PG

    Heiko April 21st

    I appreciate the author’s effort of educating us on this awesome CMS, which got me hooked right off the bat, but I find it a little disappointing to see, that part 1 & 2 of this tutorial are simply EllisLab’s Quick Start Tutorial enriched with some custom prose.

    No harm intended, but I’d really love to get some insights beyond the already available documentation. Hopefully parts 3-5 will cover those.

    So, great read anyway. Thank you!

    ( Reply )
  19. PG

    Aaron April 21st

    excellent work – must agree with barttos on the screencast point :)

    ( Reply )
    1. PG

      Richard Tape April 21st

      Thanks for the kind words Aaron. As I mentioned to Barttos, if the interest is high for a screencast then I’ll definitely consider it for future tuts on EE! Thanks again for your comment

      ( Reply )
  20. PG

    Nick Brown April 21st

    Looks good although I’m still not wholly convinced of the “buying the CMS” point.

    Wonder if anyone will post a tutorial on writing some handmade CMSs.

    ( Reply )
  21. PG

    Steve April 21st

    I would purely purchase this cms for the support that you get, you can seriously ask the guys anything and they will help in a matter of minutes.

    ( Reply )
  22. PG

    Johan April 21st

    Really nice tutorial! This might want me to try EE out.

    And i really like that Richard Tape replys to almost all comments. Nice one Richard!

    ( Reply )
    1. PG

      Richard Tape April 22nd

      It’d be rude of me not to reply to your comment then, eh Johan? Thanks very much for the nice words, really appreciate it! Good luck with trying out EE!

      ( Reply )
  23. PG

    Anthony Short April 21st

    People who are learning EE will probably like the ExpressionEngine sugar for Espresso – http://macrabbit.com/espresso/ & http://github.com/anthonyshort/expressionengine.sugar/tree/master

    It gives you code complete for just about every tag, attribute and variable. Here’s a little video of it http://www.flickr.com/photos/24248122@N02/3393071971/

    ( Reply )
    1. PG

      asd April 22nd

      Any Windows sofware?

      ( Reply )
    2. PG

      Richard Tape April 22nd

      Hey Anthony, have been following you on Twitter for a while – awesome job with the sugar, it’s a fantastic piece of kit! Thanks for the comment here too!

      ( Reply )
  24. PG

    Andrew Bekesh April 21st

    Was not impresed in part1 and not impresed about this either.
    EE is definetly not for me.

    ( Reply )
    1. PG

      YD April 22nd

      Me neither, but I liked this article better than the last.

      ( Reply )
  25. PG

    substances April 22nd

    Awesome !
    La suite ! la suite !! :)

    ( Reply )
  26. PG

    Paul April 22nd

    pretty good starter ee tutorial. I started learning ee a month or so ago. I started out using the free tutorials at train-ee.com. This has been benefiting me as I’m in the process of doing a church site with ee, and the training site has a free in-depth tutorial on how to build a church site with ee.

    if you’re just starting out, I suggest reading these NetTuts on EE first, and then go on to read the train-ee free tutorials, building your own site as you read through it.

    As for comments like Andrew’s above: if EE is not for you, why bother posting a comment saying “EE is not for me” when this article is dealing with those who are INTERESTED in trying out EE, NOT those that aren’t. It’s a waste of time and page space.

    ( Reply )
  27. PG

    asd April 22nd

    Anybody?

    EE vs. CMS Made Simple (cmsmadesimple.org)

    They look pretty same… what is the best one?

    Thanks

    ( Reply )
  28. PG

    Fred April 24th

    Your tutorials are going to tip people like me over to buy EE soon. But, I’m still holding on for now. Keep em’ coming.

    ( Reply )
  29. PG

    pix April 24th

    ok i know this is gonna be painfull when someone will figure this out for me but i’m stuck

    installed EE
    everything’s working
    everyting’s fine

    i created a couple of new post and they look fine

    now if i open my website as guest (not logged in) i can insert comments to every post

    but if i try to reply to these comments or ad new comment when logged in i cant do that. First i dont see the same form as a guest (but could be because i’m logged in)
    i only see a texarea named Smileys, with a “notify me” check box and a couple of button (submit and preview)
    as soon as i try to submit something i recieve a nice error

    The following errors were encountered

    You are not authorized to perform this action

    i’m missing something here (obviously)
    but what?

    ( Reply )
    1. PG

      pix April 24th

      forgot to say i’m running it on MAMP

      ( Reply )
    2. PG

      mcjump May 4th

      When you’re working on a MAMP development with EE, you need to make sure that your preferences are set up to accept comments without an IP address.

      In the Control Panel, go to Admin›System Preferences›Security and Session Preferences. The 10th option is “Require IP Address and User Agent when receiving comments?” — make sure that’s set to “No” and you should be right to submit/preview comments on your localhost.

      Don’t forget to change it back once the site goes live.

      ( Reply )
  30. PG

    OrganizedFellow April 25th

    It be great to see what addons they recommend or suggest.

    ( Reply )
  31. PG

    Corinne May 2nd

    For some reason, every time I view the testTemplate it looks exactly like the default template.

    ( Reply )
  32. PG

    saurabh shah May 4th

    when will be the next post ??? I am hungry now :)

    ( Reply )
  33. PG

    tom wornall May 5th

    please bring back comments to printing

    ( Reply )
  34. PG

    asd May 5th

    This CMS is really BIG ONE!!!!
    I found some other tuts and i can tell You that developers thought about everything what comes in process of developing CMS. From textfields to textareas, validation, inserting into DB, unbelievable Goups&Users permissions customisation… to simple XML-A-like language…etc

    I’m stuck with ASP and I’m lazy to learn new language.
    But with this one… everything is possible.
    Just can’t wait for v 2.0 :)

    PS My english is bad… i know :)

    ( Reply )
  35. PG

    Anon May 5th

    A bit of spellcheck: if I ‘bare’ it in mind then I’m taking my clothes off.

    “Bear” it in mind is your friend here…

    ( Reply )
  36. PG

    jonathan bowden May 10th

    Hi Richard.

    These tutorials for expression engine are super helpful! I’ve been wanting to jump into EE for a while, and these are just what i needed to get started. THanks so much for taking the time to write them!

    Also, will you be finishing the series? Please do! thanks!

    Jonathan Bowden

    ( Reply )
  37. PG

    Pedro May 12th

    Im really enjoying it! Keep it up! When is the next one? ;D

    ( Reply )
  38. PG

    Rik Abel May 18th

    Great introductory tutorials, thanks! I just finished building a slightly complex website in WordPress and, well, it was a struggle to get it to do what I wanted. EE looks like i might be just the business – I installed it ages ago but haven’t had a look at it until your tutorials inspired me to finally check it out properly so – cheers! When can we expect next tut? :)

    ( Reply )
  39. PG

    Pete June 4th

    Great tut about the EE basics! But there is so much more to come up with and I’m curious about things like custom fields, site structure with weblogs vs. categories, conditional variables and so on…

    When do you show us Part 3?? Can’t wait anymore :)

    Cheers Pete

    ( Reply )
  40. PG

    Scott June 5th

    Great tutorial. Hilarious, too! Keep ‘em comin’!

    ( Reply )
  41. PG

    william June 15th

    Excellent but where is the 3rd part ?

    ( Reply )
  42. PG

    Ryan June 25th

    Part 3 please!

    ( Reply )
  43. Ten weeks since you published part two. We want part three please.

    ( Reply )
  44. PG

    manolo July 11th

    Where is tut #3?

    ( Reply )
  45. PG

    william July 12th

    How long is it going to take for part 3 ? I can’t wait !!!

    ( Reply )
  46. PG

    Nik July 13th

    awesome tutorial! Looking forward to part three! Keep it up!

    ( Reply )
  47. PG

    Julian July 21st

    Great article! Really learnt a lot today. Looking forward to article #3!

    ( Reply )
  48. PG

    Rawpapmper July 22nd

    Great Tut Richard. I hope in the end there will be a complete tutorial for building up a simple site using EE

    ( Reply )
  49. PG

    EE4Life August 6th

    You can not say in five days and only do 2 days. I think you are dropping the ball for a lot of people.

    I hope there is some logical explanation.

    ( Reply )
  50. PG

    Danny September 23rd

    Hmm its been 5+ months since part 2 came out, and I’m sure it doesn’t take more than a day to write a tutorial for each of the other parts… what’s up?

    ( Reply )
  51. PG

    Sam Wieck September 23rd

    Wow, still not done the 3rd part?

    ( Reply )
  1. Arrow
    Gravatar

    Your Name
    September 23rd