如何在drupal中将$ link用于看门狗消息?

时间:2018-07-19 12:47:45

标签: drupal hyperlink drupal-7

我尝试使用l()

watchdog('my_module', 'My message for /admin/reports/dblog', WATCHDOG_NOTICE, 
$link = l(t('A hyperlink'), 
'/node/386/group?realname=&uid=&state=All&order=created&sort=desc', 
array('attributes'=>array('target'=>'blank'))) );

但超链接编码为“ node / 386 / group%3Frealname%3D%26uid%3D%26state%3DAll%26order%3Dcreated%26sort%3Ddesc”,这是因为 l()应该从drupal路径生成网址。

我可以在呈现它之前对其进行解码,还是插入该超链接的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

只需使用此:

$link = l(t('A hyperlink'), '/node/386/group', array('attributes'=>array('target'=>'blank'))));
watchdog('my_module', 'Link !field_link.', array('!field_link' => $link));

答案 1 :(得分:0)

您应使用查询键生成路径,如下所示

<?php
global $base_url;
    print l(
      '', 
      $base_url . $node_url, 
        array(
          'attributes' => array(
            'id' => 'my-id', 
            'class' => 'my-class'
          ), 
          'query' => array(
            'foo' => 'bar'
          ), 
          'fragment' => 'refresh',
          'html' => TRUE
        )
    );
?>

这将生成一个链接,例如

<a href="http://www.example.com/node/1?foo=bar#refresh" id="my-id" class="my-class"><img src="http://www.example.com/files/image.jpg"/></a>

来源:https://api.drupal.org/api/drupal/includes%21common.inc/function/l/7.x