在Drupal中从节点的内部路径中找到nid?

时间:2011-06-01 20:04:48

标签: drupal drupal-6

我有这样的道路:

/news/2011/05/26/some-story-path

如何找到路径指向的节点的nid?

修改

上面的路径只是我在另一个页面上的字符串值。我需要获取有关路径链接到的节点的信息。

2 个答案:

答案 0 :(得分:3)

您可以使用menu_get_object:

$node = menu_get_object();

请参阅http://api.drupal.org/api/drupal/includes--menu.inc/function/menu_get_object/6

修改

我认为您可以像这样指定路径

menu_get_object($type = 'node', $position = 1, $path = '/news/2011/05/26/some-story-path');

答案 1 :(得分:2)

在Drupal 6 ......

如果您知道网址别名,则可以检索内部系统路径:

$nid = str_replace("node/","",drupal_lookup_path("source","my/drupal/path"));

从php,查看/编辑节点时,您也可以像这样检索它:

function get_current_nid () {
  if (arg(0) == 'node' && is_numeric(arg(1)) { return arg(1); }
  return null;
}

$nid = get_current_nid();
drupal_set_message("The current node id is: $nid");