0

我有个问题:

 function drupal_menu_link($variables) {
  $element = $variables['element'];

  $sub_menu = $element['#below'] ? drupal_render($element['#below']) : '';

  return '<a href="/drupal/'.$element['#href'].'" title = "'.$element['#title'].'" ><li' . drupal_attributes($element['#attributes']) . '>' . $element['#title'] .'</li></a>';
}

我怎样才能基于别名,而不是hrefs?当我将鼠标悬停在一个元素上时,我看到的是节点/编号而不是别名。我做了一个重定向,但它发生在点击之后。有人可以帮助我吗?我一直在其他主题中寻找它,但我不擅长它,我只是不明白它是如何工作的。

4

2 回答 2

2

要将 node/{number} - url 转换为现有的 url_alias,您可以使用url方法。

return '<a href="/drupal/'.url($element['#href']).'" title = "'.$element['#title'].'" ><li' . drupal_attributes($element['#attributes']) . '>' . $element['#title'] .'</li></a>';

更好的方法是使用l方法生成完整的链接:

return l($element['#title'], $element['#href'], array('attributes'=>$element['#attributes']));
于 2013-02-10T15:03:28.870 回答
0

要返回路径别名,请使用drupal_get_path_alias

drupal_get_path_alias("node/" . $nid);
于 2013-02-10T14:58:52.607 回答