【问题标题】:Symfony special characters in Twig file causing errorTwig 文件中的 Symfony 特殊字符导致错误
【发布时间】:2013-10-01 01:33:35
【问题描述】:

对于包含大量文本和 html 标记的页面,由于意外的特殊字符,我很快从 Twig 收到解析错误。有没有其他人遇到过这个问题?

Unexpected character "!" in ... at line 76

我正在尝试通过将静态信息粘贴到新页面中然后使用include 将其包含在内来解决此问题。

我的问题是,我应该将静态 HTML 文件放在哪里,以便可以使用 {% include 'content.html' %} 将其包含在 Twig 文件中?当前包含的文件位于FooBundle/Resources/views/Default 目录中。

什么是克服这个问题的好习惯,如果 include 是答案,文件应该放在哪里才能包含在树枝中?

注意:

当我尝试使用 {% include 'content.html' %} 链接到它时,我收到以下 Symfony 错误:

Unable to find template "content.html" in ... at line 31(链接失效)

【问题讨论】:

  • 尝试指定完整路径? 'FooBundle:Default:content.hmtl'
  • 你能在!周围显示几行代码吗?我会对那里到底发生了什么感兴趣。除此之外@Ivan0x32 解决方案应该可以工作。
  • @ivan0x32 感谢您的回复。这没有用。我收到以下错误:Unable to find template ,因为我猜它正在寻找 Twig 模板(带有.html.twig 扩展名)。当我添加 Twig 扩展时,我收到 Unexpected ! 字符的初始错误。
  • @byf-ferdy code 只是英文段落信息。它自然包括'一些字符和!字符。为了测试,一旦我删除了所有 ! 字符,我会得到同样的错误,但这次抱怨 Unexpected ' character
  • 我认为您的代码中的其他地方可能存在语法错误。请给我们一些代码。

标签: symfony frameworks symfony1 twig


【解决方案1】:

我从各种不同的帖子中找到了解决方案。我最终将原始 html 放在一个新文件中(这不是必需的)并将其包含如下:

{% include 'FooBundle:Default:content.html.twig' %}

然后在我的content.html.twig 中,我用raw Twig 标签包围了我的原始HTML 代码:

{% raw %}

// RAW HTML CODE HERE

{% endraw %}

【讨论】:

    【解决方案2】:

    像这样包含

    {% include 'YourProjectNameFooBundle:Default/content.html.twig' %}
    

    【讨论】:

    • 这不起作用,抛出无法找到模板的错误。另外,我收到了Unexpected character ! 的初始错误。这不能帮助我像我需要的那样导入原始 html,只是另一个模板。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 2012-03-06
    • 2021-11-22
    相关资源
    最近更新 更多