这一定很容易,但我无法在网上找到相关文档。
我正在尝试使用Drupal中的l()函数来创建动态链接。语法是什么?
目前我有:
l('Destination',"path/$user->uid/category")
指向:
path/%2Fcategory
答案 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 $user
或user_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
其他人已经说过其他的东西:)