BreadcrumbBundle is a project mainly written in PHP, it's free.
BreadcrumbBundle for Symfony2
Class to build an render breadcrumbs based on hierarchical pages (with parents)
git submodule add git://github.com/lvanderree/BreadcrumbBundle.git src/Bundle/BreadcrumbBundle
// app/AppKernel.php
public function registerBundles()
{
return array(
// ...
new BundleBreadcrumbBundleBreadcrumbBundle(),
// ...
);
}
# app/config/config.yml
# ...
breadcrumb.config: ~
# which defaults to:
# breadcrumb.config:
# renderer: BundleBreadcrumbBundleRendererTwigRenderer # Php renderer ListRenderer is available as well
# template: BreadcrumbBundle:Default:breadcrumb.twig # obviously you can provide your own templates as well
You must create a Page class, that at least implements the methods mentioned in the PageInterface
public function indexAction($pageId)
{
$em = $this->get('doctrine.orm.entity_manager');
$page = $em->find('CmsBundle:Page', $pageId);
$breadcrumb = $this->get('breadcrumb');
$breadcrumb->setPage($page);
$template = $page->getTemplate();
$vars = array('page' => $page);
return $this->render($template, $vars);
}