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>';
}

href ではなくエイリアスを基にするにはどうすればよいですか? 要素にカーソルを合わせると、エイリアスではなくノード/番号が表示されます。リダイレクトを作成しましたが、クリック後に発生します。誰か助けてくれませんか?私は他のテーマでそれを探していましたが、私はそれが苦手で、それがどのように機能するのか理解していません.

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 に答える