Drupal menu_link与节点/数字而不是别名

时间:2013-02-10 14:35:38

标签: drupal drupal-7 drupal-path-aliases

我遇到了问题:

 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?当我将鼠标悬停在元素上时,我会看到节点/数字而不是别名。我进行了重定向,但是在点击后发生了。有人能帮助我吗?我正在寻找其他主题,但我很擅长,我只是不明白它是如何工作的。

2 个答案:

答案 0 :(得分:2)

要将节点/ {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']));

答案 1 :(得分:0)

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

drupal_get_path_alias("node/" . $nid);