我试图将{'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
答案 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 } %}