I have a website which features different types of content on the same page. In the wireframe below you can see what I mean.
The home page has a title ("Welcome") and some introductory text beneath the title. I used a StaffHolder for this (which inherits the Page title and content field). For the news (which is only shown on the home page) I used StaffPages, which are children of the StaffHolder and also inherit the Page title and content. For the news items, I also added a date field to the StaffPages. The news is only shown on the homepage.
On the right of the page there is a JavaScript photo gallery. Each image can have a description, and you can go back and forth in the gallery without a page reload.
Beneath the photo gallery there are two banners. A banner is a just a div with a title, an image and a link. Multiple banners can be added, but this can also be limited (two banners maximum for example). These banners are shown on each page of the website.
Now, as I have told I was able to get the page title ("Welcome"), the introductory text, and the news items with an added date field right. What I can't seem to figure out is how to make the JavaScript photo gallery updatable from the CMS, and how to update the banners in the CMS. Since SilverStripe works from a page philosophy, not a "blocks" philosophy, i can't seem to figure out how to add extra content types to a page.