我有这样一个路径:在Drupal中查找节点内部路径的nid?
/news/2011/05/26/some-story-path
如何找到一个节点的路径指向NID?
编辑
上面的路径只是一个字符串值,我有另一页上。我需要获取有关该路径链接到的节点的信息。
我有这样一个路径:在Drupal中查找节点内部路径的nid?
/news/2011/05/26/some-story-path
如何找到一个节点的路径指向NID?
编辑
上面的路径只是一个字符串值,我有另一页上。我需要获取有关该路径链接到的节点的信息。
你可以使用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');
在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");
对不起,我本来应该更清晰的路径。我拥有的路径('news/2011/05/26/some-story-path')并不是我所处的页面。它只是一个字符串值,我需要检索它链接到的节点的信息。我相信你的方法只有在“/ news/2011/05/26/some-story-path”页面上才有效。 – 2011-06-01 20:29:30
没有问题。你也可以使用drupal_lookup_path(“source”,“news/2011/05/26/some-story-path”);检索例如“节点/ 123”。 – 2011-06-02 13:24:27
谢谢!我能够查询drupal数据库:'SELECT src FROM url_alias WHERE dst ='$ path';'然后我使用了'$ node = menu_get_object('node',1,$ src);' – 2011-06-01 20:46:49
太好了!我认为你可以使用drupal_lookup_path($ action ='source',$ path =''/ news/2011/05/26/some-story-path');而不是定制的sql查询。 – Borgenk 2011-06-01 20:51:53