Your page is comprised of two main pieces: layout and content.
The content is the part that is specific to the page you’re on, for example the details of the item the person is looking at, and maybe related items. Content is generally built from view variables that your controller sets.
Both the layout and the content can include plain HTML and PHP code, but also elements (which are a good way to encapsulate common view-only code), blocks (which let you generate output in one place but then output it somewhere else) and cells (which are like elements on steroids; they let you easily do database interactions, for example), as well as helpers (which let you group together blocks of related output functionality).
In your case, I’d think that your “view item” controller might read the item and its related data (images, reviews, similar items) and send that to the template as a variable or variables. Displaying the current user with links to logout and preferences would go directly in the layout. (If you are going to need multiple layouts with a common look to the user section, then put it in an element instead, and call that from the layout.) Similar for a banner carousel. Make a cell for ads, and another one for forum comments. How to handle menus would very much depend on how dynamic they need to be.
Hope this gives you a bit of an idea how to break things down and where to look for more info about the different pieces.