Webmasters Stack Exchange is a question and answer site for pro webmasters. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been using Drupal for years and now with work need to learn Expression Engine. I'm interested in the comparison of Drupal and Expression Engine, but purely from a theming point of view (I've no doubt Drupal is more powerful for development). Does anyone have any insights?

It seems EE does give you more control over the HTML output, but is this necessary? I design my graphics first and I've always been able to make exactly what I wanted in Drupal (some theme overrides could be easier, but I've gotten there in the end).

share|improve this question
up vote 2 down vote accepted

One of the major differences you'll find between the theming methods is that versus Drupal's somewhat programmatic style and mixture of theming in both files and database, ExpressionEngine's is more like creating an HTML shell and then adding output variables and looping constructs to it. I'm not sure that it particularly gives you "more" control, maybe just more direct control, right in the template itself.

So, where Drupal's page.tpl has:

<?php print $content ?>

...which automatically dumps out your content fields and all sorts of handy CSS ids and classes as you've configured things in admin(I'm simplifying some, obviously), your EE template might have something like:

<div class="entry">
    <div class="entry-body">
    <div class="entry-footer">
        {entry_date format="%Y %m %d"}


This is slightly outside of "theming", but ExpressionEngine also has some strong opinions about what your URLs will be. There's a large documentation page dedicated to just listing multiple ways to force EE to remove index.php from your URLs. Paths are also very tightly coupled to what you name your templates and template groups. So rather than simply telling pages where you want them to live URL-wise, you may end up naming your templates oddly just in order to make them end up at the correct URL.

share|improve this answer

Expression Engine is very easy for theming point of view, just add template from cms admin panel and create page then paste your html in page editing area then add css.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.