From 3ce8ad17189e98596a7535c0139b1dd3e03727a3 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Fri, 1 Oct 2010 20:29:05 +0200 Subject: [PATCH] fixed HelpersExtension (removed usage of the magic _view context attribute -- helpers should now work from macros) --- .../TwigBundle/Extension/HelpersExtension.php | 29 ++++++++++++++----- .../TwigBundle/Resources/config/twig.xml | 1 + .../TokenParser/HelperTokenParser.php | 6 +++- 3 files changed, 27 insertions(+), 9 deletions(-) diff --git a/src/Symfony/Bundle/TwigBundle/Extension/HelpersExtension.php b/src/Symfony/Bundle/TwigBundle/Extension/HelpersExtension.php index c70d8f73a7..b6d39324e2 100644 --- a/src/Symfony/Bundle/TwigBundle/Extension/HelpersExtension.php +++ b/src/Symfony/Bundle/TwigBundle/Extension/HelpersExtension.php @@ -3,6 +3,7 @@ namespace Symfony\Bundle\TwigBundle\Extension; use Symfony\Bundle\TwigBundle\TokenParser\HelperTokenParser; +use Symfony\Component\DependencyInjection\ContainerInterface; /* * This file is part of the Symfony package. @@ -19,6 +20,18 @@ use Symfony\Bundle\TwigBundle\TokenParser\HelperTokenParser; */ class HelpersExtension extends \Twig_Extension { + protected $container; + + public function __construct(ContainerInterface $container) + { + $this->container = $container; + } + + public function getContainer() + { + return $this->container; + } + /** * Returns the token parser instance to add to the existing list. * @@ -28,28 +41,28 @@ class HelpersExtension extends \Twig_Extension { return array( // {% javascript 'bundles/blog/js/blog.js' %} - new HelperTokenParser('javascript', ' [with ]', 'javascripts', 'add'), + new HelperTokenParser('javascript', ' [with ]', 'templating.helper.javascripts', 'add'), // {% javascripts %} - new HelperTokenParser('javascripts', '', 'javascripts', 'render'), + new HelperTokenParser('javascripts', '', 'templating.helper.javascripts', 'render'), // {% stylesheet 'bundles/blog/css/blog.css' with ['media': 'screen'] %} - new HelperTokenParser('stylesheet', ' [with ]', 'stylesheets', 'add'), + new HelperTokenParser('stylesheet', ' [with ]', 'templating.helper.stylesheets', 'add'), // {% stylesheets %} - new HelperTokenParser('stylesheets', '', 'stylesheets', 'render'), + new HelperTokenParser('stylesheets', '', 'templating.helper.stylesheets', 'render'), // {% asset 'css/blog.css' %} - new HelperTokenParser('asset', '', 'assets', 'getUrl'), + new HelperTokenParser('asset', '', 'templating.helper.assets', 'getUrl'), // {% route 'blog_post' with ['id': post.id] %} - new HelperTokenParser('route', ' [with ]', 'router', 'generate'), + new HelperTokenParser('route', ' [with ]', 'templating.helper.router', 'generate'), // {% render 'BlogBundle:Post:list' with ['limit': 2], ['alt': 'BlogBundle:Post:error'] %} - new HelperTokenParser('render', '