如何在多语言网站上从 id 获取节点路径?

How to get node path from id on multi lingual website?

我有一个节点,有nid。即 78,它是法语(主要语言是英语),所以它的本地名称是:

fr/node/78

或者只是

node/78

?

该页面还有一些别名,即 "hello" 所以它的相对路径是:

/fr/hello

我怎样才能得到那个相对路径?

是的,我知道:

$alias = drupal_get_path_alias('node/78');

应该给我我的页面别名,但它不起作用,可能是因为不同的语言?!?或者应该是:

$alias = drupal_get_path_alias('fr/node/78');

我都试过了,但其中 none 有效?!?我无法相信没有可用的简单函数,它将节点 ID 作为参数和 return SEO(带别名)页面路径?!?

请帮忙。如果我有 nid,在多语言网站上获取节点 seo 路径的最简单方法是什么?

终于明白了。如果其他人遇到这个问题:

// Returns root relative path
function get_node_url_ml ($nid, $language){
    $defaultLanguage = language_default();
    $local_path = 'node/' . $nid;
    $url = drupal_lookup_path('alias', $local_path, $language);
    if (!$url)  $url = 'node/' . $nid;
    if ($language != $defaultLanguage->language) $url = $language.'/'.$url;
    return '/'.$url;
}