I’ll use the code I use to do the breadcrumbs on emarketsouth.com as an example:
includes/breadcrumb template:
<div class="breadcrumbs">
{exp:string:prepend name="breadcrumbs" separator="/"}<a href="/">home</a>{/exp:string:prepend}
{exp:string:output name="breadcrumbs"}
</div>
Basically this will be embedded wherever breadcrumbs need to be output. It prepends the “home” link to the front of the breadcrumbs, using “/” as the separator between breadcrumb items.
The rest of the breadcrumbs are handled by building a string within the page’s base template. Using the template for our blog detail page as an example (http://www.emarketsouth.com/blog/details/how-to-create-standalone-edit-forms-in-expressionengine-2.0/):
template file: blog/details
<div style="clear:left;" class="grid_12">
{exp:string:append name="breadcrumbs" separator="/"}
<a href="/blog/">blog</a>
{/exp:string:append}
{embed="includes/breadcrumbs"}
</div>
<div style="clear:left;" class="grid_8">
{exp:weblog:entries weblog="blog" sort="desc" require_entry="yes"}
{exp:string:append name="breadcrumbs" separator="/" text="{title}"}
{exp:string:append name="title" separator="|" text="{title}"}
{exp:string:append name="title" separator="|" text="{weblog}"}
<div class="grid_1 alpha omega">
<div class="postDate">
<div class="month m-{entry_date format="%m"}">{entry_date format="%F"}</div>
<div class="day d-{entry_date format="%d"}">{entry_date format="%d"}</div>
<div class="year y-{entry_date format="%Y"}">{entry_date format="%Y"}</div>
</div>
</div>
<div class="blogEntry">
<div class="blogInfo">
<h1>{title}</h1>
</div>
<h2>{blog_summary}</h2>
{blog_body}
<hr />
</div>
{if no_results}
{redirect="404"}
{/if}
{/exp:weblog:entries}
...
Since we know that the template is part of the blog template group I initially set the breadcrumbs variable to link to the base blog page. Then down in the weblog:entries tag I append the weblog entry title as an unlinked breadcrumb since that’s the last step in the chain. Obviously this is a simple example but I hope it illustrates the concept well enough. If you had a template that served as a details page for multiple different weblogs you could use the {weblog} tag in the weblog:entries loop to set this dynamically.
The main advantage here is that you don’t need to worry about opening your weblog:entries tag up where you want to print the breadcrumbs. You can just compile the string as you go and print it out in the embedded template when you’re all done.