【问题标题】:Drupal menu_link with node/number instead of aliasDrupal menu_link 带有节点/编号而不是别名
【发布时间】:2013-02-10 14:35:38
【问题描述】:

我有一个问题:

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

【问题讨论】:

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


    【解决方案1】:

    要将 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']));
    

    【讨论】:

      【解决方案2】:

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

      drupal_get_path_alias("node/" . $nid);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多