Рейтинг:-1

Получить значение поля для выполнения оператора if Twig

флаг id

Я пытаюсь создать PDF с Печать объекта. До тех пор все хорошо.

На моей странице Twig я пытаюсь сделать условные отображения. Но я не могу заставить условия работать.

Я визуализирую свои поля, используя {{ content.field_custom }} и это тоже работает нормально.

Но условие не работает, когда я делаю что-то вроде:

{% if content.field_custom == 'Джон' %} ...

или же

{% set field = content.field_custom %}
{% если поле == 'Джон' %}
   <p>Здравствуйте</p>
{% конец%}

Мне нужно сделать это в шаблоне ветки полей, может кто-нибудь мне помочь?

Большое спасибо

MrD avatar
флаг cn
MrD
Ваше условие не работает, потому что значение content.field_custom не равно Джону. переменная content.field_name представляет собой массив рендеринга. Таким образом, все значения включают строку рендеринга поля шаблона. Примеры "". Для этого вы должны использовать теги полосы или использовать node.field_name.value для условия.
Monster971 avatar
флаг id
Спасибо за ваш быстрый ответ. {% if (content.field_custom|striptags) == 'Джон' %} Это не сработало для меня, хотя, к сожалению. Как это использовать ?
Kevin avatar
флаг in
Поскольку это не строка, это массив рендеринга. Он никогда не будет просто равен Джону.
MrD avatar
флаг cn
MrD
попробуйте с content.field_custom|render|striptag или просто node.field_custom.value
Monster971 avatar
флаг id
Еще раз спасибо за ваш ответ. Кажется, это работает, но у меня все еще есть проблема, которую я не ожидал. Мое поле загружается по одному токену, поэтому node.field_custom.value возвращает мне токен ([current-user: field_custom: value]), а не значение токена. Как это решить?
Рейтинг:1
флаг in

Я рекомендую Значение поля ветки модуль, который обеспечивает поле_значение фильтр, который можно применить непосредственно к полю:

{{ content.field_name|field_value }}

Кроме того, хотя это конкретно не отвечает на ваш вопрос, было бы упущением не упомянуть удобный и полезный Твиг Твик модуль. Это круто! :)

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

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