2013-03-13 4 views
1

Ive пыталась добавить ESI визуализации с { «автономного»: истинно} к одному из моих шаблонов прута, и я получаю синтаксическую ошибку веточки:Twig синтаксической ошибка при включении ESI в Symfony 2.1.8

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" %} 

Снятие, { «автономный»: истинный} получает шаблон, чтобы сделать хорошо.

Я использую 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

В Symfony2.1, чтобы адаптировать рендеринг блока к правильной записи, вам необходимо

  • положить ваши аргументы между одинарными кавычками ': в этом случае вы будет иметь 'fred': 1
  • Добавьте with{} заявление даже если он пустой:

Что дает вам:

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

Примечание: Похоже, что with{} утверждение абсолютно необходимо в Symfony2.1, от этого security release. Тем не менее, Symfony, возможно, изменил это в последнее время, и я не думаю, что это необходимо в Symfony2.2.

{# с аргументом нужно, но игнорируются #}

и примером они обеспечивают с ним:

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

благодаря @Patt использовало DOCO из [Symfony HTTP кэша] (http://symfony.com/doc/2.1/book/http_cache.html#edge-side-includes) и не видел, чтобы с {} был похоронен в совете по безопасности. Теперь вернемся, чтобы ударить головой о кирпичную стену, которая является моей лаковой конфигурацией :) –

+0

Отлично! Если вы новичок на этом сайте, не забудьте принять ответы, если они решили вашу проблему! Удачи с лаком. – Mick

+0

Хорошо использовали этот сайт в течение многих лет, но его первый вопрос :) .. сделали спасибо за подсказку. –