首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取预存节点的路径别名

问获取预存节点的路径别名
EN

Drupal用户
提问于 2020-06-04 14:16:23
回答 1查看 1.2K关注 0票数 0

我试图使用以下代码获取用于节点的路径别名。

代码语言:javascript
复制
\Drupal::service('path.alias_manager')->getAliasByPath('/node/' . $nid);

它适用于已经创建的节点,但在添加新节点时会中断。我得到以下错误。

对于路由"entity.node.canonical“,PHP异常entity.node.canonical的”参数“节点必须匹配"\d+”(“给定”)才能生成相应的URL。

是否有其他方法为尚未保存的节点获取路径别名?

EN

回答 1

Drupal用户

回答已采纳

发布于 2020-06-05 14:50:28

别名是指向节点的可选路径。它们需要规范路径,因此有一条路径可供选择。规范路径需要节点ID (实体ID),因为节点路径是/ Node /节点ID。节点ID在保存节点之前不存在,因为它在保存时来自数据库。因此,在保存节点之前,路径是不存在的,这意味着别名没有什么。

因此,答案是没有,在保存节点之前不可能创建别名,因为在保存节点之前,规范路径不存在,也不可能存在。

票数 1
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/294259

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档