You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal中如何打印博客标签的URL别名?uri.value无法生效如何解决

问题原因&解决方法

1. 循环外代码失效问题

Twig 中for循环的迭代变量item属于局部作用域,仅在循环代码块内部可用,循环执行结束后变量就会被回收,因此你写在循环外的{{ item.entity.uri.value }}代码无法正常输出内容。

2. uri.value无法获取URL别名问题

Drupal 分类术语实体的uri.value默认返回的是内部路由格式(例如entity:taxonomy_term/123),并非前端可用的URL别名,可使用以下两种方案解决:

  • 方案一:使用path()函数生成相对路径别名
{% for item in node.field_tags %}
 {# 输出标签别名 + 标签名 #}
 {{ path('entity.taxonomy_term.canonical', {'taxonomy_term': item.entity.id}) }}
 {{ item.entity.name.value }}
{% endfor %}

如果需要输出带站点域名的绝对URL,将path()替换为url()即可。

  • 方案二:调用实体方法直接生成URL
{% for item in node.field_tags %}
 {{ item.entity.toUrl().toString() }}
 {{ item.entity.name.value }}
{% endfor %}

内容的提问来源于stack exchange,提问作者Shradha Mankar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 19:24:04