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


drupal l() function external link does not work

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

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

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

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

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

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

评论更新

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

如果您没有包含协议,那么l()将返回一个与您的网站相关的链接。

我遇到了同样的问题。Drupal一直输出我的域名/www.facebook.com

您只需要将"http://"或其他协议附加到您的链接即可。否则Drupal会认为这是一个内部链接。为我修复了它。现在它显示为"www.facebook.com"。