I'm running silverstripe 2.3.0-rc3 (but had the same issue in 2.3.0-rc2) and after creating some templates i'm only able to get a single template to show at a time.
I have the following template files
\themes\awesome\templates\Page.ss
\themes\awesome\templates\Layout\Page.ss
\themes\awesome\templates\Layout\Section.ss
\themes\awesome\templates\Layout\Detail.ss
So obviously \themes\awesome\templates\Page.ss is the main template and the templates under \themes\awesome\templates\Layout\ should be injected in the space where $Layout is in the main template \themes\awesome\templates\Page.ss.
However, when I try to access a page that uses either \themes\awesome\templates\Layout\Section.ss or \themes\awesome\templates\Layout\Detail.ss, only the HTML markup from that template is displayed and the surrounding HTML markup from \themes\awesome\templates\Page.ss is missing.
Here is an example of the 2 templates:
\themes\awesome\templates\Page.ss (still a work in progress ;)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<% base_tag %>
$MetaTags
<link rel="stylesheet" type="text/css" href="/awesome/css/screen.css" />
</head>
<body>
<div id="page">
<div id="header">
<a title="Awesome" class="logo" href="/"><img src="" alt="Awesome"></a>
<ul>
<li><a href="#">Section</a></li>
</ul>
</div>
<div id="content">
$Layout
$Form
<div id="sidebar">
<h2>Side Bar</h2>
</div>
</div>
<div id="footer">
<p>Footer</p>
</div>
</div>
</body>
</html>
\themes\awesome\templates\Layout\Section.ss (which should be injected into $Layout in the above template)
<div id="main">
<h1>$Title</h1>
$Tagline
</div>
Instead of getting the two combined templates, I only get the later.
What am I doing wrong? Have I missed something? Has anyone else had this issue?