Drupal中的动态链接

时间:2009-07-31 00:09:39

标签: drupal

这一定很容易,但我无法在网上找到相关文档。

我正在尝试使用Drupal中的l()函数来创建动态链接。语法是什么?

目前我有:

l('Destination',"path/$user->uid/category")

指向:

path/%2Fcategory

4 个答案:

答案 0 :(得分:3)

首先,如果你在一个函数中工作,你将需要访问全局用户对象。

其次,如果用户是匿名/未登录,则$ user-> uid可能未设置或为0。

最后为了防止错误,通常将变量与字符串连接起来


global $user;
if ($user->uid)
{
  l('Destination', 'path/'.$user->uid.'/category')
}

答案 1 :(得分:3)

l()正在将您的网址更正为path/%2Fcategory,因为它正在尝试从字符串path//category创建可用的链接。

您的字符串为path//category,因为$user->uid没有任何价值。它没有任何价值,因为您尚未从global $useruser_load()提取用户对象,或者您的用户是匿名的。

我建议在调用l()之前检查$ user的值,例如:

global $user; // or $user = user_load($foo);
if ($user) {
l('Destination', 'path/'.$user->uid.'/category');
} else {
l('Destination', 'path/you-are-not-logged-in');
}

答案 2 :(得分:0)

尝试连接字符串。
l('Destination',"path/".$user->uid."/category")

至于文档,这里是:http://api.drupal.org/api/function/l/4.7

l($text, 
   $path, 
   $attributes = array(), 
   $query = NULL, 
   $fragment = NULL, 
   $absolute = FALSE, 
   $html = FALSE)

答案 3 :(得分:-1)

l()函数的文档位于: http://api.drupal.org/api/function/l/6

其他人已经说过其他的东西:)