I suggest to consolidate similar templates into single template file:
- Posts: template "posts". It should be used for posts, private messages, post preview, post view in mcp, etc... anything where post is shown.
- Forums list: template "forums". It should be used for forum index, subforums list in forum view, moderator control panel, bookmarks in ucp, search results and other parts of forum where forums list is shown.
- Topics list: template "topics". It should be used for topics list when viewing forum, mcp, bookmarks, search results, etc. It should also be used for private messages list.
All of those templates will have loops to display all items, so it would be easier to add global header and footer for whole block.
Such concept should also make it easier to create php code because it can be assigned to a single class. Something like phpbb_post::display()