值 "if" 的意外标记 "name"(预期 "end of statement block")

Unexpected token "name" of value "if" ("end of statement block" expected)

我尝试将 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">&#8644;</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 %}