A blog layout should also have an inner page to show single posts. You could store the layout in layouts/blog_inner.php. Another option is to keep it in the template root folder and use it as a default layout for posts in all pages. Editable regions and a comments module would seem appropriate for such layout.
Examplelayouts/blog_inner.php
<?php
/*
type: layout
content_type: static
name: Post
description: Post layout
*/
?>
<?php include template_dir().'header.php'; ?>
<div class="container">
<h1 class="post-title edit" field="title" rel="content">My post title</h1>
<div class="blog-post edit" field="content" rel="content">
<p>My post content</p>
</div>
<div class="blog-comments edit" field="post-comments" rel="content">
<module type="comments" />
</div>
<div class="blog-sidebar edit" field="sidebar" rel="inherit">
<h2>My sidebar</h2>
<module type="categories" />
</div>
</div>
<?php include template_dir().'footer.php';
Example Shop Layout
If we want to have a shop pages in out template we will need to make a shop layout and a layout to display products from the shop.
The shop layout is created by including is_shop property in the definition of the layout file. You can add products only to pages that are defined as shop by using a shop layout.
Make a new file at userfiles/templates/my_template/layouts/shop.php, this file will load when you create new page and choose the "Shop" layout.