如何在Twig中获取Drupal 9字段原始值并实现列表字段显示逻辑
在Drupal 9中通过Twig实现List字段的条件显示逻辑
你需要在对应内容类型的Twig模板(比如node--country.html.twig)里编写条件判断代码,具体步骤如下:
- 获取List字段的选中值
Drupal的List字段存储值可通过.value属性获取,先把值存为变量方便后续调用:
{% set selected_option = node.field_description.value %}
- 编写条件渲染逻辑
根据选中的选项,输出对应的字段内容(注意替换下面的field_country_name和field_capital_name为你实际创建的国家名称、首都名称字段的机器名):
{% if selected_option == 'name' %} {# 显示国家名称 #} {{ node.field_country_name.value }} {% elseif selected_option == 'capital' %} {# 显示首都名称 #} {{ node.field_capital_name.value }} {% endif %}
额外注意事项
- 如果是在视图模板(而非节点模板)中使用,获取字段值的方式需调整,比如用
{{ row.entity.field_description.value }}代替node.field_description.value - 确保当前用户拥有对应字段的查看权限,否则Twig无法渲染字段内容
- 若你的List字段设置了键值对(比如键是
name/capital,标签是其他文字),上述判断逻辑依然适用,因为我们判断的是字段存储的键值
内容的提问来源于stack exchange,提问作者user21233403
相关产品推荐
相关产品推荐

