NikitOS_MV
@NikitOS_MV
Король шутов

Почему неправильно работает if в twig?

Hello

Или я что-то делаю не так, или с twig что-то не то...
Из года передается булевая переменная, в шаблоне она проверяется, и в зависимости от ее состояния должен выполняться код:
{% if status == true %}
    <p>Test.</p>
{% endif %}

Этот код не работает, хоть будет переменная true, хоть false, но если сделать так:
{% if status == false %}
    <p>Test.</p>
{% endif %}

Условие выполняется не зависимо, true или false в переменной

UPD:
Нашел причину ошибки ('-' в названии переменной тоже ошибка), но как исправить - не знаю.
Мне нужно было передавать данные в шаблон из двух массивов, для объединения использовал array_push, но он дает массив в таком виде, какой не понимает twig.

Вывод var_dump массива, который понимает twig (до слияния через array_push):
array(1) { ["user_status"]=> string(1) bool(true) }

Вывод var_dump массива, который не понимает twig (после слияния через array_push):
array(1) { ["user_status"]=> string(1) bool(true) }


Вопрос: как сделать массив понятным для twig'a?

____
Использовать один массив не вариант, т.к первый содержит данные из контроллера, а второй из вспомогательного класса, который работает почти на всех страницах, пихать его в каждый контроллер как-то глупо...
  • Вопрос задан
  • 171 просмотр
Решения вопроса 1
tomnolane
@tomnolane
профессиональный разработчик
вы уверены что staus правильно написали? может надо status ?

upd
1) попробуйте переопределить переменную с user-status на user_status (везде)
2) или переменная <code>user-status</code> не передается в представление
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы