我需要l()函数的帮助。我想为用户在管理表单中设置的url创建锚点。它必须是一个外部链接。我已将外部选项设置为true,但锚点仍然表现得像内部,结果是mydrupalpage.com/www.facebook.com而不是www.facebook.com
有人可以帮我吗? 我是drupal的初学者,所以也许我在代码中做错了什么:
$output .= l(t('Facebook'),$variables['facebook_link'], array('attributes'=>array('external' => TRUE)));
答案 0 :(得分:0)
您不需要使用属性作为第三个参数的索引。
您只需使用array('external' => true)
:
$output .= l(t('Facebook'),$variables['facebook_link'], array('external' => TRUE));
从评论中更新
除了上面第三个参数的更改外,第二个参数中的url需要包含协议:
http://www.facebook.com
或https://www.facebook.com
如果您不包含协议,则l()
将返回相对于您网站的链接。
答案 1 :(得分:0)
我有同样的问题。 Drupal输出 my-domain-name / www.facebook.com 。
您只需要追加' http://'或其他协议到您的链接。否则Drupal会认为这是一个内部链接。为我修好了。现在它上面写着www.facebook.com'。