082a0130c2
Signed-off-by: Gergely POLONKAI (W00d5t0ck) <polesz@w00d5t0ck.info>
68 lines
1.9 KiB
PHP
68 lines
1.9 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony package.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Symfony\Bundle\TwigBundle\Extension;
|
|
|
|
use Symfony\Bundle\TwigBundle\TokenParser\RenderTokenParser;
|
|
use Symfony\Component\DependencyInjection\ContainerInterface;
|
|
|
|
/**
|
|
* Twig extension for Symfony actions helper
|
|
*
|
|
* @author Fabien Potencier <fabien@symfony.com>
|
|
*/
|
|
class ActionsExtension extends \Twig_Extension
|
|
{
|
|
private $container;
|
|
|
|
/**
|
|
* Constructor.
|
|
*
|
|
* @param ContainerInterface $container The service container
|
|
*/
|
|
public function __construct(ContainerInterface $container)
|
|
{
|
|
$this->container = $container;
|
|
}
|
|
|
|
/**
|
|
* Returns the Response content for a given controller or URI.
|
|
*
|
|
* @param string $controller A controller name to execute (a string like BlogBundle:Post:index), or a relative URI
|
|
* @param array $attributes An array of request attributes
|
|
* @param array $options An array of options
|
|
*
|
|
* @see Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver::render()
|
|
*/
|
|
public function renderAction($controller, array $attributes = array(), array $options = array())
|
|
{
|
|
return $this->container->get('templating.helper.actions')->render($controller, $attributes, $options);
|
|
}
|
|
|
|
/**
|
|
* Returns the token parser instance to add to the existing list.
|
|
*
|
|
* @return array An array of Twig_TokenParser instances
|
|
*/
|
|
public function getTokenParsers()
|
|
{
|
|
return array(
|
|
// {% render 'BlogBundle:Post:list' with { 'limit': 2 }, { 'alt': 'BlogBundle:Post:error' } %}
|
|
new RenderTokenParser(),
|
|
);
|
|
}
|
|
|
|
public function getName()
|
|
{
|
|
return 'actions';
|
|
}
|
|
}
|