Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I tried to upgrade Symfony to 4.4.17 and I got the above error for the line:

{% for lang, group in lang_groups if lang == from %}

This is the code. I have no idea how to fix this.

    <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 %}
like image 223
greektranslator Avatar asked Oct 22 '25 09:10

greektranslator


1 Answers

You have to put the if statement out of your for...in

So instead of this

    {% 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 I understood what you are trying to do, you should do something like this:

{% 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 %}

like image 173
SKMTH Avatar answered Oct 25 '25 08:10

SKMTH



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!