В настоящее время я пытаюсь сравнить ценность каждого сохраненного объекта и упорядочить результаты в определенных разделах. Я не могу для жизни меня найти, как сравнить переменную с строкой, используя веточку. Все, что я пробовал ошибку, за исключением следующего кода, который вместо сбоя просто пропускает IF и показывает ELSE. Я предполагаю, что у меня все получилось неправильно, но в документации Twig нет упоминаний о том, как это сделать (я думаю), и я начинаю думать, что все пойдет по-другому. Может быть, я должен делать это в контроллере?
{% for product in entity.product %}
{% if product.dish.DishCat == 'Starter' %}
<h3>Starter</h3>
<p>{{ product.dish }}</p>
{% elseif product.dish.Dishcat == 'Main'%}
<h3>Main</h3>
<p>{{ product.dish }}</p>
{% elseif product.dish.Dishcat == 'Desert'%}
<h3>Desert</h3>
<p>{{ product.dish }}</p>
{% else %} // Always just get to here.
<p> FAIL!</p>
<p>{{product.dish.DishCat}} {{product.dish.id}}</p> //I print 'product.dish.DishCat' to ensure It actually got a value which it does...
{% endif %}
{% endfor %}
Результат =
ПОТЕРПЕТЬ НЕУДАЧУ! Сеть 2
ПОТЕРПЕТЬ НЕУДАЧУ! Закуски 0
ПОТЕРПЕТЬ НЕУДАЧУ! Стартеры 1
ПОТЕРПЕТЬ НЕУДАЧУ! Пустыни 3
ПОТЕРПЕТЬ НЕУДАЧУ! Сеть 4
Любое предложение очень приветствуется.
Все результаты заканчиваются "s", а условные утверждения - нет. Пытаться:
{% for product in entity.product %}
{% if product.dish.DishCat == 'Starters' %}
<h3>Starter</h3>
<p>{{ product.dish }}</p>
{% elseif product.dish.Dishcat == 'Mains'%}
<h3>Main</h3>
<p>{{ product.dish }}</p>
{% elseif product.dish.Dishcat == 'Deserts'%}
<h3>Desert</h3>
<p>{{ product.dish }}</p>
{% else %} // Always just get to here.
<p> FAIL!</p>
<p>{{product.dish.DishCat}} {{product.dish.id}}</p>
//I print 'product.dish.DishCat' to ensure It actually got a value which it does...
{% endif %}
{% endfor %
Я думаю, вы должны попытаться исправить переменные и не позволить всем им закончиться с 's'.
dish
- это объект, поэтому вам может потребоваться сделать что-то вроде{{ product.dish.name }}