在symfony 2.1.8中启用ESI时出现Twig语法错误

时间:2013-03-13 05:00:52

标签: php symfony twig symfony-2.1 esi

我试图将{'standalone':true}的ESI渲染添加到我的一个twig模板中,并且得到TWIG语法错误:

Unexpected token "punctuation" of value "," ("end of statement block" expected) in AccommMiddleBundle:Home:layout.html.twig at line 155

这是相关的树枝模板块:

150 <div class="container">
151     <h1>{{ blog_articles.0.title }}</h1>
152     <a href="{{blog_articles.0.guid}}">Moose</a>
153 </div>
154 
155 {% render url('accomm_middle_home_recent_articles', {fred: 1}), {'standalone': true} %}
156 
157 {% set charity_url = "http://www.accommodation.com/charity" %}

删除,{'standalone':true}使模板呈现正常。

我使用Symfony 2.1.8与干净的供应商,似乎与标准版依赖项没有区别。关于如何调试这个的任何想法?

感谢您的帮助

MikeB

P.S。这是我安装的软件包

AccomDotCom/AccomDotComRESTClientBundle 0.1               The RESTFul models for talking to the Accommodation.com privateapi (baghdadsquirrel) via symfony
behat/behat                             v2.4.5            Scenario-oriented BDD framework for PHP 5.3
behat/gherkin                           v2.2.9            Gherkin DSL parser for PHP 5.3
behat/mink                              v1.4.3            Web acceptance testing framework for PHP 5.3
behat/mink-browserkit-driver            v1.0.4            Symfony2 BrowserKit driver for Mink framework
behat/mink-extension                    v1.0.1            Mink extension for Behat
behat/mink-selenium2-driver             v1.0.5            Selenium2 (WebDriver) driver for Mink framework
behat/mink-zombie-driver                v1.0.3            Zombie.js driver for Mink framework
behat/symfony2-extension                v1.0.1            Symfony2 framework extension for Behat
doctrine/common                         2.3.0             Common Library for Doctrine projects
doctrine/dbal                           2.3.2             Database Abstraction Layer
doctrine/doctrine-bundle                v1.0.0            Symfony DoctrineBundle
doctrine/orm                            2.3.2             Object-Relational-Mapper for PHP
guzzle/guzzle                           v2.8.7            Guzzle is a PHP HTTP client library and framework for building RESTful web service clients
instaclick/php-webdriver                1.0.12            PHP WebDriver for Selenium 2
jms/aop-bundle                          1.0.0             Adds AOP capabilities to Symfony2
jms/cg                                  1.0.0             Toolset for generating PHP code
jms/di-extra-bundle                     1.1.1             Allows to configure dependency injection using annotations
jms/metadata                            1.1.1             Class/method/property metadata management in PHP
jms/security-extra-bundle               1.2.0             Enhances the Symfony2 Security Component by adding several new features
kriswallsmith/assetic                   v1.1.0-alpha4     Asset Management for PHP
monolog/monolog                         1.2.1             Logging for PHP 5.3
nelmio/esi-debug-bundle                 1.0.0             Shows you caching information around ESI requests for debugging purposes
sensio/distribution-bundle              v2.1.8            The base bundle for the Symfony Distributions
sensio/framework-extra-bundle           v2.1.8            This bundle provides a way to configure your controllers with annotations
sensio/generator-bundle                 v2.1.8            This bundle generates code for you
swiftmailer/swiftmailer                 v4.2.2            Swiftmailer, free feature-rich PHP mailer
symfony/assetic-bundle                  v2.1.2            Integrates Assetic into Symfony2
symfony/monolog-bundle                  v2.1.8            Symfony MonologBundle
symfony/swiftmailer-bundle              v2.1.8            Symfony SwiftmailerBundle
symfony/symfony                         v2.1.8            The Symfony PHP framework
twig/extensions                         dev-master v1.0.0 Common additional features for Twig that do not directly belong in core
twig/twig                               v1.12.2           Twig, the flexible, fast, and secure template language for PHP
vipsoft/jira-extension                  v1.0.9            Load features for Behat from Jira issues

1 个答案:

答案 0 :(得分:0)

Symfony2.1 中,要使渲染块适应正确的表示法,您需要

  • 将您的论据置于单引号'之间:在这种情况下,您将拥有'fred': 1
  • 添加with{}语句,即使它是空的

这给了你:

{% render url('accomm_middle_home_recent_articles', {'fred': 1})  with {}, {'standalone': true} %}

注意:在security release中,Symfony2.1中绝对需要with{}语句。但是,Symfony最近可能已经改变了这一点,我不认为Symfony2.2中不再需要它。

  

{需要带参数#但忽略#}

他们提供了一个例子:

{% render url("path_to_controller_router", { 'param': 1 }) with {}, { 'standalone': true } %}