﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
11727	Breadcrumbs contrib app	Felipe 'chronos' Prenholato	nobody	"This patches add support of easy-to-use breadcrumbs, that can be set on any view (including generic views) and used on templates to build a breadcrumb list.
Today Django not have a breadcrumbs system, but it is a common necessary item in various websites, so I think that is a good idea to attach it to framework as contrib app.

== Breadcrumb crontrib app ==

Breadcrumb app are composed of two basic classes that maintain a list of 'registered' breadcrumbs and one middleware class.
Middleware class add breadcrumbs attribute to request object and user can access trough request.breadcrumbs.

User easily add breadcrumbs in tree ways:


{{{
# one by one 
request.breadcrumbs( name, url )

# various tuples/lists 
request.breadcrumbs( ( (name1, url1), (name2, url2), (name3, url3), ...,) ) 
request.breadcrumbs( [name1, url1], [name2,url2], [name3,url3], ...] )

# objects with attributes name and url in list / tuple format: 
request.breadcrumbs( ( obj1, obj2, obj3, obj4, ......) ) 
request.breadcrumbs( [ obj1, obj2, obj3, obj4, ......] ) 
}}}

and after can iterate over request.breadcrumbs to get each one, in order that added:

{{{
{% for breadcrumb in request.breadcrumbs %}
<a href=""{{ breadcrumb.url }}"">{{ breadcrumb.name }}{% if not forloop.last %} >> {% endif %}</a>
{% endfor %} 
}}}

== FlatPages patch ==

With attached FlatPages patch, we can have breadcrumbs added, automatically for any FlatPage with support for N levels urls.

== Breadcrumbs repository ==

When build this app I setup a Google Code page and repository, so, for anyone that want to contribute or request changes, here is page: http://code.google.com/p/django-breadcrumbs/"		closed	Uncategorized	1.1		wontfix	breadcrumbs, flatpages		Design decision needed	1	0	0	0	0	0
