1 | <?php |
||
17 | class BreadcrumbsExtension extends \Twig_Extension |
||
18 | { |
||
19 | /** |
||
20 | * @var BreadcrumbsBuilder |
||
21 | */ |
||
22 | private $breadcrumbsBuilder; |
||
23 | |||
24 | public function __construct(BreadcrumbsBuilder $breadcrumbsBuilder) |
||
28 | |||
29 | /** |
||
30 | * {@inheritdoc} |
||
31 | */ |
||
32 | public function getFunctions() |
||
33 | { |
||
34 | return array( |
||
35 | new \Twig_SimpleFunction('render_breadcrumbs', array($this, 'renderBreadcrumbs'), array('is_safe' => array('html'), 'needs_environment' => true)), |
||
36 | ); |
||
37 | } |
||
38 | |||
39 | public function renderBreadcrumbs(\Twig_Environment $twig, Breadcrumbs $breadcrumbs = null, $template = '@Breadcrumbs/breadcrumbs.html.twig') |
||
40 | { |
||
41 | if (null === $breadcrumbs) { |
||
42 | $breadcrumbs = $this->breadcrumbsBuilder->createFromRequest(); |
||
43 | } |
||
44 | |||
45 | return $twig->render($template, array('breadcrumbs' => $breadcrumbs)); |
||
46 | } |
||
47 | |||
48 | /** |
||
49 | * {@inheritdoc} |
||
50 | */ |
||
51 | public function getName() |
||
55 | } |
||
56 |