I have looked at that page 2309856739486 times and missed the little
<div id="content">
<{$xoops_contents}>
</div>
at the bottom.
Thank-you.
Themes are just smarty scripts. In terms of operational flow, I suppose it could be broken down like this:
XOOPS core determines if user requests a page within a module.
It then retrieves the module meta data using XoopsModuleHandler.
Retrieves all blocks visible to the current user, in the current module.
Each block is processed in succession, first the PHP code for the block is executed, returning an array of variables which are combined with the defined block templates in the smarty template layer. These blocks are then sorted into their various location based groups (left, right, center, etc)
Next the php code for the requested module page is executed, resulting in additional variables assigned to the smarty template layer, which combines them with the defined page template (again by the smarty template layer)
Once page processing is complete, the core takes the various rendered pieces (the blocks, the module content) and plugs them into the theme.
Reference (Ackbarr forum answer)