By admin |

  闲话Drupal之l函数

  l函数应该是Drupal开发者使用频率最高的函数之一。另外一个可能就是t函数了。

  不管你多么牛逼,我只能说,你可能查找l函数的手册不下与10次。

  基本用法:

  $title : 标题
  $url : 连接地址
  l($title, $url)

  加上class

  l($title, $url, array('attributes' => array('class' => array('myclass'))));

  加上id

  l($title, $url, array('attributes' => array('id' => 'myid')));

  加上target=_blank

  l($title, $url, array('attributes' => array('target' => '_blank')));

  加上#top

  l($title, $url, array('fragment' => 'top'));

  加参数?name=terry?gender=male

  l($title, $url, array('query' => array('name' => 'terry', 'gender' => 'male')));

  连接到js

  l($text,'javascript:void(0)',array('fragment' => '','external'=>true));

  链接到图片

  $image = theme_image_style(array('path' => $image_path, 'style_name' => '100x100'));
  l($image, '', array('html' => TRUE));


  集大成的代码片段:

    global $base_url;
    print 
l(
      '<img src="' . render(file_create_url($node->field_image['en'][0]['uri'])) . '"/>', 
      $base_url . $node_url, 
        array(
          'attributes' => array(
            'id' => 'my-id', 
            'class' => 'my-class'
          ), 
          'query' => array(
            'foo' => 'bar'
          ), 
          'fragment' => 'refresh',
          'html' => TRUE
        )
    );