【问题标题】:Symfony 3 Developer page is not showing properlySymfony 3 开发者页面没有正确显示
【发布时间】:2016-11-11 10:12:59
【问题描述】:

我目前正在学习处理 symfony 3 并遵循 this 教程

但是当我在 Symphony 中编码错误时,页面的正确显示出现了一些错误。

这就是现在的样子:

很糟糕...
但它应该看起来像这样:

我错过了什么?路径有问题吗?
这是日志文件中的一些内容:

Stack Trace

    in vendor\twig\twig\lib\Twig\Parser.php at line 400  +
    at Twig_Parser ->filterBodyNodes (object(Twig_Node_Text))
    in vendor\twig\twig\lib\Twig\Parser.php at line 413  +
    at Twig_Parser ->filterBodyNodes (object(Twig_Node))
    in vendor\twig\twig\lib\Twig\Parser.php at line 113  +
    at Twig_Parser ->parse (object(Twig_TokenStream))
    in var\cache\dev\classes.php at line 3807  +
    at Twig_Environment ->parse (object(Twig_TokenStream))
    in var\cache\dev\classes.php at line 3835  +
    at Twig_Environment ->compileSource (object(Twig_Source))
    in var\cache\dev\classes.php at line 3686  +
    at Twig_Environment ->loadTemplate ('genus/show.html.twig')
    in vendor\symfony\symfony\src\Symfony\Bridge\Twig\TwigEngine.php at line 126  +
    at TwigEngine ->load ('genus/show.html.twig')
    in vendor\symfony\symfony\src\Symfony\Bridge\Twig\TwigEngine.php at line 50  +
    at TwigEngine ->render ('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')))
    in vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\TwigEngine.php at line 50  +
    at TwigEngine ->render ('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')))
    in vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\TwigEngine.php at line 75  +
    at TwigEngine ->renderResponse ('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')), null)
    in vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Controller\Controller.php at line 212  +
    at Controller ->render ('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')))
    in src\AppBundle\Controller\GenusController.php at line 31  +
    at GenusController ->showAction ('octopus')
    at call_user_func_array (array(object(GenusController), 'showAction'), array('octopus'))
    in vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php at line 153  +
    at HttpKernel ->handleRaw (object(Request), '1')
    in vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php at line 68  +
    at HttpKernel ->handle (object(Request), '1', true)
    in vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php at line 169  +
    at Kernel ->handle (object(Request))
    in web\app_dev.php at line 28  +
    at require ('C:\xampp\htdocs\symphony\enc_file_service\web\app_dev.php')
    in vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Resources\config\router_dev.php at line 40  +

Logs  -
1 error

    INFO - Matched route "{route}".
    INFO - Populated the TokenStorage with an anonymous Token.
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    CRITICAL - Uncaught PHP Exception Twig_Error_Syntax: "A template that extends another one cannot include contents outside Twig blocks. Did you forget to put the contents inside a {% block %} tag in "genus/show.html.twig" at line 2?" at C:\xampp\htdocs\symphony\enc_file_service\vendor\twig\twig\lib\Twig\Parser.php line 400
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".
    DEBUG - Notified event "{event}" to listener "{listener}".

Stack Trace (Plain Text)  -

[1] Twig_Error_Syntax: A template that extends another one cannot include contents outside Twig blocks. Did you forget to put the contents inside a {% block %} tag in "genus/show.html.twig" at line 2?
    at n/a
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\twig\twig\lib\Twig\Parser.php line 400

    at Twig_Parser->filterBodyNodes(object(Twig_Node_Text))
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\twig\twig\lib\Twig\Parser.php line 413

    at Twig_Parser->filterBodyNodes(object(Twig_Node))
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\twig\twig\lib\Twig\Parser.php line 113

    at Twig_Parser->parse(object(Twig_TokenStream))
        in C:\xampp\htdocs\symphony\enc_file_service\var\cache\dev\classes.php line 3807

    at Twig_Environment->parse(object(Twig_TokenStream))
        in C:\xampp\htdocs\symphony\enc_file_service\var\cache\dev\classes.php line 3835

    at Twig_Environment->compileSource(object(Twig_Source))
        in C:\xampp\htdocs\symphony\enc_file_service\var\cache\dev\classes.php line 3686

    at Twig_Environment->loadTemplate('genus/show.html.twig')
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Bridge\Twig\TwigEngine.php line 126

    at Symfony\Bridge\Twig\TwigEngine->load('genus/show.html.twig')
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Bridge\Twig\TwigEngine.php line 50

    at Symfony\Bridge\Twig\TwigEngine->render('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')))
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\TwigEngine.php line 50

    at Symfony\Bundle\TwigBundle\TwigEngine->render('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')))
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Bundle\TwigBundle\TwigEngine.php line 75

    at Symfony\Bundle\TwigBundle\TwigEngine->renderResponse('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')), null)
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Controller\Controller.php line 212

    at Symfony\Bundle\FrameworkBundle\Controller\Controller->render('genus/show.html.twig', array('name' => 'octopus', 'notes' => array('Hello dude it is amazing to use twig', 'as a html css template', 'as a html css template')))
        in C:\xampp\htdocs\symphony\enc_file_service\src\AppBundle\Controller\GenusController.php line 31

    at AppBundle\Controller\GenusController->showAction('octopus')
        in  line 

    at call_user_func_array(array(object(GenusController), 'showAction'), array('octopus'))
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php line 153

    at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), '1')
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\HttpKernel.php line 68

    at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), '1', true)
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Component\HttpKernel\Kernel.php line 169

    at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
        in C:\xampp\htdocs\symphony\enc_file_service\web\app_dev.php line 28

    at require('C:\xampp\htdocs\symphony\enc_file_service\web\app_dev.php')
        in C:\xampp\htdocs\symphony\enc_file_service\vendor\symfony\symfony\src\Symfony\Bundle\FrameworkBundle\Resources\config\router_dev.php line 40

编辑:

{% extends 'base.html.twig' %}

{% block title %}Genus {{ name }}{% endblock %}

{% block body %}
    <h2 class="genus-name">{{ name }}</h2>
    <div class="sea-creature-container">
        <div class="genus-photo"></div>
        <div class="genus-details">
            <dl class="genus-details-list">
                <dt>Subfamily:</dt>
                <dd>Octopodinae</dd>
                <dt>Known Species:</dt>
                <dd>289</dd>
                <dt>Fun Fact:</dt>
                <dd>{{ funFact|raw }}</dd>
            </dl>
        </div>
    </div>

    <div id="js-notes-wrapper"></div>
    <section id="cd-timeline">
    </section>
{% endblock %}

{% block javascripts %}
    {{ parent() }}

    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/react/0.14.3/react-dom.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.23/browser.min.js"></script>

    <script type="text/babel" src="{{ asset('js/notes.react.js') }}"></script>
    <script type="text/babel">
        var notesUrl = '{{ path('genus_show_notes', {'genusName': name}) }}';

        ReactDOM.render(
                <NoteSection url={notesUrl} />,
                document.getElementById('js-notes-wrapper')
        );
    </script>

{% endblock %}

【问题讨论】:

  • 您能否分享您的show.html.twig 文件的代码。看来你忘了添加{% block %} 声明。
  • @Sameer 现已上线
  • 但我对此问题没有任何疑问。问题就在那里,因为我这样做了......看看错误页面做了什么。但后来我的 symfony 错误页面显示不正确。那里有什么?
  • 这可能是缓存问题?您是否在终端中尝试过$ php bin/console cache:clear,然后刷新?
  • 没有没有帮助...

标签: php logging error-handling xampp symfony


【解决方案1】:

你看到错误了吗:

[1] Twig_Error_Syntax:扩展另一个模板的模板不能包含 Twig 块之外的内容。您是否忘记在第 2 行的“genus/show.html.twig”中将内容放在 {% block %} 标记内?

就像你在 genus/show.html.twig 第 2 行有一个空标签,设置哪个块

【讨论】:

  • 这是一个错误,但是来自 symfony 的错误页面没有正确加载
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-29
  • 2021-07-13
  • 1970-01-01
  • 2016-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多