- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试将我的 php 代码转换为 Twig 代码。
PHP 代码:
<?php foreach ($languages as $language) {
if(empty($my_title[$language["language_id"]])){$my_title[$language["language_id"]] ="MY Title";}
?>
致 Twig :
{% for language in languages %}
{% if not my_title[language.language_id] %}
{% set my_title[language.language_id] = "MY Title" %}
{% endif %}
{% endfor %}
但是,确实出现以下错误。
Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'Unexpected token "punctuation" of value "[" ("end of statement block" expected) in....
这里出了什么问题?如何在twig中正确编写这段代码?
最佳答案
您无法直接将项目添加到 Twig 中的数组或哈希中。您需要使用 merge
过滤器,如下所示:
{% set my_title = my_title|merge({(language.language_id): 'MY Title'}) %}
请注意 language.language_id
周围的括号。这是因为哈希键不能是表达式,而是文字。 language.language_id
周围的括号确保在用作哈希键之前先计算表达式。
此外,如果 my_title
哈希没有存储在 language.language_id
变量中的 key ,您的 if
语句将会失败。您应该在那里使用 is Defined
测试。
完整示例:
{% for language in languages %}
{% if not my_title[language.language_id] %}
{% set my_title = my_title|merge({(language.language_id): 'MY Title'}) %}
{% endif %}
{% endfor %}
关于php - fatal error : Uncaught exception 'Twig_Error_Syntax' with message 'Unexpected token "punctuation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46129449/
我正在使用Silex,并且无法在模板中使用is_granted函数。我在文档中找不到任何有关为何无法正常工作的信息。有什么提示吗? $app->register(new Silex\Provider\
当我尝试在 Twig 上延伸时,我遇到了这个错误,我不明白。 有谁知道这是什么意思吗? enter image description here ean 最佳答案 您是否在{% extends 'ba
是否可以使用 symfony3 和 twig 制作一个独立表单?我无法克服这个错误: Fatal error: Uncaught exception 'Twig_Error_Syntax' with
根据Silex documentation : Symfony provides a Twig bridge that provides additional integration between
我记得在 composer 更新后我遇到了这个错误,但之前它运行良好,并且在比较包版本时我没有发现差异。我在模板中以这种方式使用它: {{ include(template_from_string(p
我正在运行 drupal 8、composer 和 npm 来执行 gulp 任务。 当我运行 npm start.. 我的任务管理器时:我得到以下堆栈跟踪: Fatal error: Uncaugh
这必须很简单,但我看不出有什么问题。我正在使用 https://twig.symfony.com/doc/1.x/advanced.html#filters 上的简单过滤器示例使用 Twig 1.34
我尝试将我的 php 代码转换为 Twig 代码。 PHP 代码: 致 Twig : {% for language in languages %} {% if not my_title[l
我是一名优秀的程序员,十分优秀!