【发布时间】:2012-01-27 10:32:18
【问题描述】:
目标:发送一封电子邮件,其中包含从节点生成的 URL 列表。
在我的自定义模块中,我设法获取了用户想要的节点 ID,现在我想获取每个节点的 URL 以放入我的电子邮件中。
我搜索了数据库并使用了谷歌,但似乎找不到合适的解决方案。
看来我们需要像这样构造 URL:
<?php
global $base_url;
$link=$base_url."// few more parameters
【问题讨论】:
目标:发送一封电子邮件,其中包含从节点生成的 URL 列表。
在我的自定义模块中,我设法获取了用户想要的节点 ID,现在我想获取每个节点的 URL 以放入我的电子邮件中。
我搜索了数据库并使用了谷歌,但似乎找不到合适的解决方案。
看来我们需要像这样构造 URL:
<?php
global $base_url;
$link=$base_url."// few more parameters
【问题讨论】:
你可以使用url()函数:
$options = array('absolute' => TRUE);
$nid = 1; // Node ID
$url = url('node/' . $nid, $options);
这将为您提供绝对路径(即前面带有 http://example.com/),以及指向节点页面的 URL 别名路径。
【讨论】:
你也可以试试drupal_lookup_path('alias',"node/".$node->nid)。
【讨论】:
drupal_lookup_path() 并不总是直接可用,请改用url()。
你也可以通过
$path=drupal_get_path_alias('node/'.$nid);
nid 的绝对路径
url('node/' . $node->id(), ["absolute" => TRUE]);
【讨论】:
node/3
您也可以使用l() 函数。
l(t('Link text'), 'node/123', array('options' => array('absolute' => TRUE)));
【讨论】:
使用
$node_url;
它会给你当前的节点 url
【讨论】: