首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Twig函数在模板中的‘呈现’功能在哪里?

Twig函数在模板中的‘呈现’功能在哪里?
EN

Stack Overflow用户
提问于 2015-06-05 12:09:12
回答 2查看 669关注 0票数 3

我刚刚更新了我的Silex应用程序的依赖项,现在我的一个模板突然出错了:

代码语言:javascript
运行
复制
Twig_Error_Syntax: The function "render" does not exist.

在我执行composer update之前,这是很好的工作。从作曲家的输出中已经更新了以下内容:

代码语言:javascript
运行
复制
- Removing symfony/options-resolver (v2.6.7)
- Installing symfony/options-resolver (v2.7.0)
  Downloading: 100%

- Removing symfony/intl (v2.6.7)
- Installing symfony/intl (v2.7.0)
  Downloading: 100%

- Removing symfony/form (v2.6.7)
- Installing symfony/form (v2.7.0)
  Downloading: 100%

- Removing symfony/translation (v2.6.7)
- Installing symfony/translation (v2.7.0)
  Downloading: 100%

- Removing symfony/validator (v2.6.7)
- Installing symfony/validator (v2.7.0)
  Downloading: 100%

- Removing symfony/security (v2.6.7)
- Installing symfony/security (v2.7.0)
  Downloading: 100%

- Removing symfony/finder (v2.6.7)
- Installing symfony/finder (v2.7.0)
  Downloading: 100%

- Removing symfony/process (v2.6.7)
- Installing symfony/process (v2.7.0)
  Downloading: 100%

- Removing symfony/twig-bridge (v2.6.7)
- Installing symfony/twig-bridge (v2.7.0)
  Downloading: 100%

- Removing symfony/web-profiler-bundle (v2.6.7)
- Installing symfony/web-profiler-bundle (v2.7.0)
  Downloading: 100%

- Removing symfony/stopwatch (v2.6.7)
- Installing symfony/stopwatch (v2.7.0)
  Downloading: 100%

在我的模板中工作的代码是:

代码语言:javascript
运行
复制
{{ render (url('navigation')) | raw }}

我找不到任何东西表明这个函数已经被废弃了,或者它被什么取代了。我不知道哪些更新导致了这个问题,但我怀疑是造成的。我使用的是Twig版本1.18.1。

我对这里的问题有点纠结,这给我带来了一些问题,所以任何帮助都是很好的。

我意识到,我应该把我正在使用的软件包的版本联系起来,这样我就可以更有条理地测试升级了。

谢谢你,罗素

更新1:

提供更多上下文的更新。

composer.json

代码语言:javascript
运行
复制
"require": {
    "silex/silex": "~1.2",
    "silex/web-profiler": "1.0.*@dev",

    "ruflin/elastica": "1.3.*@dev",
    "dflydev/doctrine-orm-service-provider": "1.0.*@dev",

    "monolog/monolog": "1.9.1",

    "twig/twig": "1.18.*@dev",
    "twig/extensions": "1.2.*@dev",

    "symfony/yaml": "~2.4",
    "symfony/console": "~2.4",
    "symfony/twig-bridge": "~2.4",
    "symfony/config": "~2.4",
    "symfony/monolog-bridge": "~2.4",
    "symfony/serializer": "~2.4",
    "symfony/form": "~2.4",
    "symfony/validator": "~2.4",
    "symfony/translation": "~2.4",
    "symfony/security": "~2.4",

    "macedigital/silex-jms-serializer": "1.0.0",
    "jdesrosiers/silex-jms-serializer-provider": "~0.1",

    "mheap/silex-gravatar": "dev-master",
    "mheap/gravatar-php": "dev-master",
    "mheap/silex-assetic": "1.0.4",

    "knplabs/knp-menu": "2.0.*@dev",

    "predis/service-provider": "dev-master",

    "pear/archive_tar": "dev-master",
    "pear/pear_exception": "1.0.*@dev",
    "wapmorgan/unified-archive": "dev-master",

    "sybio/image-workshop": "dev-master",
    "sybio/gif-frame-extractor": "dev-master",
    "sybio/gif-creator": "dev-master",

    "paypal/rest-api-sdk-php" : "*",

    "kilte/silex-pagination": "1.1.*@dev",

    "thispagecannotbefound/silex-markdown-parser": "dev-master",

    "erusev/parsedown": "~1.4",
    "erusev/parsedown-extra": "dev-master"
 }

我使用以下方法注册Twig和UrlGenerator服务:

代码语言:javascript
运行
复制
$app->register ( new \Silex\Provider\UrlGeneratorServiceProvider () );
$app -> register (new \Silex\Provider\TwigServiceProvider(), array(
        'twig.options' => array("debug" => true)
    ));

$app['twig'] = $app -> share($app -> extend('twig', function($twig, $app) {
        $twig -> addExtension(new \Twig_Extension_Debug());
        return $twig;
    }));

细枝本身仍在工作,任何没有“{{呈现}”的模板都会正常工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-09 08:43:51

我也有同样的问题。在注册网络剖析器之前,你注册了HttpFragmentServiceProvider吗?这并不明显,但文档中提到了这里。对我来说效果很好。

问候

票数 4
EN

Stack Overflow用户

发布于 2015-06-05 13:23:15

确保你有:

  • twig/twig (可能是在执行composer更新之前删除了它)和通过composer安装的symfony/twig-bridge。 和
  • 寄存器TwigServiceProvider()UrlGeneratorServiceProvider() $app->寄存器(new\Provider\TwigServiceProvider(),数组( 'twig.path‘=> \_DIR__’/path/to/UrlGeneratorServiceProvider/‘);$app->寄存器(新UrlGeneratorServiceProvider());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30666212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档