drupal l()函数外部链接不起作用

时间:2014-10-15 19:07:46

标签: php drupal-7

我需要l()函数的帮助。我想为用户在管理表单中设置的url创建锚点。它必须是一个外部链接。我已将外部选项设置为true,但锚点仍然表现得像内部,结果是mydrupalpage.com/www.facebook.com而不是www.facebook.com

有人可以帮我吗? 我是drupal的初学者,所以也许我在代码中做错了什么:

 $output .= l(t('Facebook'),$variables['facebook_link'], array('attributes'=>array('external' => TRUE)));

2 个答案:

答案 0 :(得分:0)

您不需要使用属性作为第三个参数的索引。

您只需使用array('external' => true)

 $output .= l(t('Facebook'),$variables['facebook_link'], array('external' => TRUE));

从评论中更新

除了上面第三个参数的更改外,第二个参数中的url需要包含协议: http://www.facebook.comhttps://www.facebook.com

如果您不包含协议,则l()将返回相对于您网站的链接。

答案 1 :(得分:0)

我有同样的问题。 Drupal输出 my-domain-name / www.facebook.com

您只需要追加' http://'或其他协议到您的链接。否则Drupal会认为这是一个内部链接。为我修好了。现在它上面写着www.facebook.com'。

相关问题