Let me start to give you a slight overview on our use of Smarty templating, called themes.
They live in
/templates and have a name, eg
/myTemplate.
This "name" is to find in an
info.txt file too, to fetch the right name and theme, when being in the backend theme section, eg "
Name: myTheme". So actually a starting "copy theme" changes the directory and the info.txt files value Name, selects the new theme in the backend and thats it.
In your theme you have several
*.tpl files, which actually are the Smarty template files and all kind of other files, like theme specific lang php files, stylesheets, javascript files etc. While being processed, the *.tpl files get compiled (translated) to PHP files and are stored in the
/templates_c directory, like a "cache". Nothing which is touched by a User, normally.
All themes have or use an
index.tpl file, which is the main ground grid markup for your Sites theme. Everything passes through this file! Furthermore a
content.tpl file is called, which is a content/body
router to some messages and the $ENTRIES and $ARCHIVES Variables, which are the already processed main
entries.tpl file and some archives files. Even Staticpages pages pass way through to the entries.tpl file, to reach the hook, even if using a plugin_staticpage*.tpl file itself.
All other *.tpl files are specific files for certain conditions by the Serendipity core, by some plugins, or by the htaccess rewrites. The
comments.tpl or the
sidebar.tpl files are an example for this.
A theme can also have a
config.inc.php file, called automatically, to do certain things to pass to your themes tpl files as assigned variables, or configure the backends theme config. The
style.css and the also possible
user.css file, as an easy addition to the first, are automatically processed too and set/write the CSS styles for your theme into the "streamed"
serendipity.css file, which is called in the head of
index.tpl.
Now, this is all about having a BLOG system, with entries floating in and being pushed into the backyard by new ones. By time it was necessary to have some static pages, which could hold the imprint of the site or any other static SITE content, not being the same as "floating" blogentries. This is why the static pages event plugin was coded long ago. So if you want some static pages, with content you want to have for your SITE like a CMS has, this is Staticpages. You can now build a navigation area like the 2k11 theme has, and link your staticpages into this nav or have them displayed in the sidebar. With the mentioned additions by Garvin in 2008, this vastly improved the abilities of Serendipity as a CMS, but still went on being focussed to be and stay a BLOG software.
How to use and learn Smarty is documented here:
http://www.smarty.net/docs/en/
What you need is a good copy template, which gives you as much possibilities you may ever need (eg, 2k11 or Next) or a certain one, which comes near your Sites approach.
The headers and footers and the depending hooks for the Serendipity Plugins are all to find in the index.tpl file, but may as well be just a result of some core processing to get into there.
You may put the html markup and Smarty conditions directly into the index.tpl, or use it by {include ...} or other inheritances, etc, depending on your Knowledge and/or Preferences. I would recommend to start with a plain copy and very small changes to get an idea of what happens when. Even if possible when having some Knowledge, it is not really recommended to use any PHP in the Smarty templates. This is what the config.inc.php file could be used for, which is not for the Beginners, though.
Good luck!
I think for the rest Don will be an excellent Guide, particularly if you use his theme!
(@All - If I forgot something essential to mention, please add!)