Template "slots" for inserting markup in other templates

Does SilverStripe contain a way to add markup from a template to another template? Symfony calls it template slots, and Ruby on Rails content_for.

What I'm looking to do specifically is to add HTML / Javascript bits to the bottom of a site layout from inside a view.

I had a look at the reference pages of doc.silverstripe.com and the Sapphire API, and couldn't find an answer. I'm also quite new to SilverStripe, so I don't fully understand the capabilities / limitations of SSViewer yet...

It's good to know that I can define my own template functions, but in my specific case it seems to be overkill. It often happens that I have view-specific Javascript to render, and while I could add it straight into the view, I would much prefer have some kind of mechanism to "inject" it to the bottom of my layout. A bit like that:

I know I should probably just put that JS in an external file and add it with Requirements::javascript, but it shows well what I'm trying to achieve.

I don't *think* there is anything to support that sort of dynamic injection yet. The current 2.4 SSViewer is little more than a simply string search and replace and doesn't really have any sort of smarts, hence using PHP and renderWith() which you can overload on your controller actions etc.

SSViewer is getting a bit old overhaul for 3.0 so implementing functions like that may become easier.