symfony - 值“if”的意外令牌“名称”(预期“语句块结束”)
问题描述
我尝试将 Symfony 升级到 4.4.17,但我收到了上面的错误:
{% for lang, group in lang_groups if lang == from %}
这是代码。我不知道如何解决这个问题。
<div class="input-style">
<input type="text" name="query" value="{{ query|default('') }}" />
</div>
<div class="select-style">
<select name="lang_from">
{% for lang, group in lang_groups %}
<option value="{{ lang }}"{% if from == lang %} selected{% endif %}>{{ group.label }}</option>
{% endfor %}
</select>
</div>
<a href="javascript:void(0)" class="reverse-lang-pair" title="reverse language pair">⇄</a>
{% for lang, group in lang_groups if lang == from %}
<div class="select-style lang-group" data-lang="{{ lang }}">
<select name="{{ lang }}">
{% for lang_to, data in group.to %}
<option value="{{ lang_to }}"{% if to|default('') == lang_to %} selected{% endif %}>{{ data.label }}</option>
{% endfor %}
</select>
</div>
{% endfor %}
解决方案
你必须把if
声明从你的for...in
所以代替这个
{% for lang, group in lang_groups if lang == from %}
<div class="select-style lang-group" data-lang="{{ lang }}">
<select name="{{ lang }}">
{% for lang_to, data in group.to %}
<option value="{{ lang_to }}"{% if to|default('') == lang_to %} selected{% endif %}>{{ data.label }}</option>
{% endfor %}
</select>
</div>
{% endfor %}
如果我理解你想要做什么,你应该做这样的事情:
{% for lang, group in lang_groups %}
{% if lang == from %}
<div class="select-style lang-group" data-lang="{{ lang }}">
<select name="{{ lang }}">
{% for lang_to, data in group.to %}
<option value="{{ lang_to }}"{% if to|default('') == lang_to %} selected{% endif %}>{{ data.label }}</option>
{% endfor %}
</select>
</div>
{% endif %}
{% endfor %}
推荐阅读
- java - 使用 Apache POI 替换图像不起作用
- python - numpy索引ndarray[(4, 2), (5, 3)]的解释
- flutter - 如何仅在一页上阻止屏幕截图?
- django - 是否可以为包含不同模型的两个 Django 项目使用相同的数据库?
- ios - 如何快速创建匿名列表,如 Kotlin
- r - ggplot2中的线条颜色
- r - 在 r 中使用 if else 语句
- php - CakePHP 3.9.4:在组件中使用模型的方法
- android - 如何在 android 中为 AccountPicker 添加自定义对话框?
- azure-devops - 新的管道体验 (YAML) 缺少跟踪和统计功能