deblan.tv/vendor/trinity/src/Trinity/Bundle/AdminBreadcrumbsBundle/Twig/Extension/BreadcrumbExtension.php
2015-03-02 21:57:49 +01:00

52 lines
1.3 KiB
PHP

<?php
namespace Trinity\Bundle\AdminBreadcrumbsBundle\Twig\Extension;
use \Trinity\Bundle\AdminBreadcrumbsBundle\Model\BreadcrumbManager;
class BreadcrumbExtension extends \Twig_Extension
{
private $environment;
private $resources;
protected $breadcrumbManager;
public function __construct(BreadcrumbManager $BreadcrumbManager)
{
$this->breadcrumbManager = $BreadcrumbManager;
}
public function initRuntime(\Twig_Environment $environment)
{
$this->environment = $environment;
}
public function getName()
{
return 'breadcrumb_extension';
}
public function getFunctions()
{
return array(
'render_admin_breadcrumb' => new \Twig_Function_Method($this, 'renderAdminBreadcrumb', array('is_safe' => array('html'))),
);
}
public function renderAdminBreadcrumb()
{
$breadcrumb = $this->breadcrumbManager->get();
return $this->render('TrinityAdminBreadcrumbsBundle:Utils:breadcrumb.html.twig',array('breadcrumb' => $breadcrumb));
}
public function render($template, array $parameters = array())
{
if (!isset($this->resources[$template])) {
$this->resources[$template] = $this->environment->loadTemplate($template);
}
return $this->resources[$template]->render($parameters);
}
}