Рейтинг:1

Как получить значение из поля в выражении if/else

флаг jp

В обычае представления-представления-fields.html.twig Я печатаю поле списка (field_status) без проблем. Значения:

новый|новый

старый|Старый

Но если я хочу сделать оператор if/else для печати разных контейнеров div, я всегда печатаю контейнер div из другого. Кто-нибудь знает, что я делаю неправильно? Я тоже пробовал это с модулем Twig Field Value, но у меня те же проблемы.

<div class="card h-100">
    <div class="card-body">
        {% if fields.field_status.content == 'new' %} // |striptags , |raw or a capital value e.g. New do not work , Twig Field Value also do not work: content.field_status|field_value
            <div class="icon medium">
                NEW
            </div>
        {% else %}
            <div class="icon medium">
                OLD
            </div>
        {% endif %}
        <h5 class="card-title">{{ fields.title.content }}</h5>
    </div>
</div>

Спасибо за помощь!

Рейтинг:3
флаг cn

Если вы хотите сравнить левую часть списка полей, вам нужно необработанное значение базы данных из объекта.

Вы находите сущность в строка переменная представления-представления-fields.html.twig :

{% if row._entity.field_status.value == 'новый' %}

Видеть Доступ к значению строки в template_preprocess_views_view_fields(&$variables)

druplash avatar
флаг jp
Ты молодец, большое спасибо! Теперь работает без проблем. Я трачу часы и часы, чтобы найти решение.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.