我试图使用以下代码获取用于节点的路径别名。
\Drupal::service('path.alias_manager')->getAliasByPath('/node/' . $nid);它适用于已经创建的节点,但在添加新节点时会中断。我得到以下错误。
对于路由"entity.node.canonical“,PHP异常entity.node.canonical的”参数“节点必须匹配"\d+”(“给定”)才能生成相应的URL。
是否有其他方法为尚未保存的节点获取路径别名?
发布于 2020-06-05 14:50:28
别名是指向节点的可选路径。它们需要规范路径,因此有一条路径可供选择。规范路径需要节点ID (实体ID),因为节点路径是/ Node /节点ID。节点ID在保存节点之前不存在,因为它在保存时来自数据库。因此,在保存节点之前,路径是不存在的,这意味着别名没有什么。
因此,答案是没有,在保存节点之前不可能创建别名,因为在保存节点之前,规范路径不存在,也不可能存在。
https://drupal.stackexchange.com/questions/294259
复制相似问题