我不确定这是否与我当前的设置有关,或者我想要做什么。在模块中获取Drupal根目录的路径
我有一个模块,它在我的Drupal 6站点中编程创建节点,并且在每个节点中我都必须提供链接。
我基本上有几个foreach
循环,并在每个我有当前路径。
例如:
foreach ($page->category as $category) {
$category_link = "category/" . $category['id'];
// generate category pages
...
$content = "<a href='$category_link'>".$category['name']."</a>";
_create_node($content);
foreach ($category->article as $article) {
$article_link = $category_link . "/article/" . $article['id'];
// generate article page
$content = "<a href='$category_link'>".$category['name']."</a>";
$content .= "<a href='$article_link'>".$article['name']."</a>";
_create_node($content);
}
}
是我看到的问题是,该链接似乎不断地建立起来了。 例如,在主类别页面中没有问题(我会看到category/1234
),文章链接将会很好,但类别链接似乎会比应该更长。基本上,我会最终看到:
category/1234/article/5678/category/1234
我首先想到的是利用$base_url
,只是创造了绝对路径,但每当我尝试打印从我的模块变量它完全是空的。这是在本地服务器上,但是当我将它移动到生产环境时,Drupal没有安装在根目录下,所以我不能简单地在链接的前面添加一个斜杠。
你试过'unset($ category_link);'在你的第一个'foreach'的最后? – Sean3z
我做了...似乎是因为我的当前位置是过去的类别/ id/paper/id,并且Drupal会自动附加额外的URL。 – espais