2017-01-04 11 views
0

コンポーザーのアップデート後に私はこのエラーが出たことを覚えていますが、以前は完全に機能していました。パッケージのバージョンを比較すると、違いは見つかりませんでした。私は、テンプレートにこの方法でそれを使用する:Twig_Error_Syntax: "template_from_string"関数が不明です。機能は時代遅れになった?

「ページ」は、コントローラからエンティティオブジェクトである
{{ include(template_from_string(page.body)) }} 

。現在のバージョンは次のとおりです。

config.ymlでも
symfony/symfony       v2.8.15 
twig/extensions       v1.4.1 
twig/twig        v1.30.0 

twig: 
    debug:   "%kernel.debug%" 
    strict_variables: "%kernel.debug%" 
    form_themes: 
     - 'AppBundle::Form/form_override.html.twig' 

は、今そこにvendor/twig/twig/lib/twig/Twig/Extension/StringLoader.php視覚的に正しいファイルであるが、それはまだ動作していないようです。完全なスタックトレース:

[1] Twig_Error_Syntax: Unknown "template_from_string" function. 
    at n/a 
     in ProjectDir\src\AppBundle/Resources/views/Page.html.twig line 22 

    at Twig_ExpressionParser->getFunctionNodeClass('template_from_string', '22') 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 374 

    at Twig_ExpressionParser->getFunctionNode('template_from_string', '22') 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 162 

    at Twig_ExpressionParser->parsePrimaryExpression() 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 102 

    at Twig_ExpressionParser->getPrimary() 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 55 

    at Twig_ExpressionParser->parseExpression() 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 520 

    at Twig_ExpressionParser->parseArguments(true) 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 373 

    at Twig_ExpressionParser->getFunctionNode('include', '22') 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 162 

    at Twig_ExpressionParser->parsePrimaryExpression() 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 102 

    at Twig_ExpressionParser->getPrimary() 
     in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 55 

    at Twig_ExpressionParser->parseExpression() 
     in ProjectDir\vendor\twig\twig\lib\Twig\Parser.php line 147 

    at Twig_Parser->subparse(array(object(Twig_TokenParser_Block), 'decideBlockEnd'), true) 
     in ProjectDir\vendor\twig\twig\lib\Twig\TokenParser\Block.php line 40 

    at Twig_TokenParser_Block->parse(object(Twig_Token)) 
     in ProjectDir\vendor\twig\twig\lib\Twig\Parser.php line 190 

    at Twig_Parser->subparse(null, false) 
     in ProjectDir\vendor\twig\twig\lib\Twig\Parser.php line 103 

    at Twig_Parser->parse(object(Twig_TokenStream)) 
     in ProjectDir\app\cache\dev\classes.php line 3415 

    at Twig_Environment->parse(object(Twig_TokenStream)) 
     in ProjectDir\app\cache\dev\classes.php line 3443 

    at Twig_Environment->compileSource(object(Twig_Source)) 
     in ProjectDir\app\cache\dev\classes.php line 3291 

    at Twig_Environment->loadTemplate('AppBundle::Page.html.twig') 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Bridge\Twig\TwigEngine.php line 126 

    at Symfony\Bridge\Twig\TwigEngine->load('AppBundle::Page.html.twig') 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Bridge\Twig\TwigEngine.php line 50 

    at Symfony\Bridge\Twig\TwigEngine->render('AppBundle::Page.html.twig', array('page' => object(Page), 'ads' => array(object(VertBanner), object(VertBanner)), 'slug' => 'direktor')) 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\TwigEngine.php line 72 

    at Symfony\Bundle\TwigBundle\TwigEngine->render('AppBundle::Page.html.twig', array('page' => object(Page), 'ads' => array(object(VertBanner), object(VertBanner)), 'slug' => 'direktor')) 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\TwigEngine.php line 103 

    at Symfony\Bundle\TwigBundle\TwigEngine->renderResponse('AppBundle::Page.html.twig', array('page' => object(Page), 'ads' => array(object(VertBanner), object(VertBanner)), 'slug' => 'direktor'), null) 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Controller\Controller.php line 185 

    at Symfony\Bundle\FrameworkBundle\Controller\Controller->render('AppBundle::Page.html.twig', array('page' => object(Page), 'ads' => array(object(VertBanner), object(VertBanner)), 'slug' => 'direktor')) 
     in ProjectDir\src\AppBundle\Controller\PageController.php line 35 

    at AppBundle\Controller\PageController->getPageAction('direktor') 
     in line 

    at call_user_func_array(array(object(PageController), 'getPageAction'), array('direktor')) 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php line 144 

    at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), '1') 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php line 64 

    at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), '1', true) 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel.php line 69 

    at Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle(object(Request), '1', true) 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php line 185 

    at Symfony\Component\HttpKernel\Kernel->handle(object(Request)) 
     in ProjectDir\web\app_dev.php line 28 

    at require('ProjectDir\web\app_dev.php') 
     in ProjectDir\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Resources\config\router_dev.php line 40 
+1

は '$ twig-> addExtensionを使用して、あなたの小枝環境を設定するときにStringLoaderを有効にしている(新しいTwig_Extension_StringLoader( )); '? – Tom

+0

いいえ、実際どこに置くべきかわかりません。私はドキュメンタリーの中でそれを見ました。例えばhttp://twig.sensiolabs.org/doc/extensions/text.htmlですが、それを行う場所は書かれていません。しかし一方で、以前はこのトリックなしで動作しました –

+0

問題がある機能を使用するには、http://twig.sensiolabs.org/doc/functions/template_from_stringを有効にする必要があります。 html – Tom

答えて

0

あなたは、サービスコンテナがあなたの小枝拡張について知らせなければなりません:

# app/config/services.yml 
acme.twig.extension.loader: 
    class:  Twig_Extension_StringLoader 
    tags: 
     - { name: 'twig.extension' } 
+0

ありがとう、今それは完全に動作します! –

関連する問題