public function renderBreadcrumbs(\Twig_Environment $twig, Breadcrumbs $breadcrumbs = null, $template = '@Breadcrumbs/breadcrumbs.html.twig') { if (null === $breadcrumbs) { $breadcrumbs = $this->breadcrumbsBuilder->createFromRequest(); } return $twig->render($template, array('breadcrumbs' => $breadcrumbs)); }
/** * Create a Breadcrumbs Builder. * * @param string $path * @param RouteCollection $collection * * @return BreadcrumbsBuilder */ private function createBreadcrumbsBuilder($path, RouteCollection $collection) { /** @var \PHPUnit_Framework_MockObject_MockObject|Router $route */ $route = $this->getMockBuilder('Symfony\\Bundle\\FrameworkBundle\\Routing\\Router')->disableOriginalConstructor()->getMock(); $route->method('getRouteCollection')->willReturn($collection); $route->method('getContext')->willReturn(new RequestContext()); $request = Request::create($path); if (class_exists('Symfony\\Component\\HttpFoundation\\RequestStack')) { $requestStack = $this->getMockBuilder('Symfony\\Component\\HttpFoundation\\RequestStack')->disableOriginalConstructor()->getMock(); $requestStack->method('getCurrentRequest')->willReturn($request); } else { $requestStack = null; } $breadcrumbsBuilder = new BreadcrumbsBuilder($route, $requestStack); // BC with SF 2.3 if (null === $requestStack) { $breadcrumbsBuilder->setRequest($request); } return $breadcrumbsBuilder; }