drupal之hook_link和hook_link_alter钩子函数解析
脚本之家
本文实例讲述了drupal中hook_link和hook_link_alter钩子函数的用法。分享给大家供大家参考。具体如下:
在Drupal中有个钩子,叫做hook_link,参数如下:
hook_link($type, $object, $teaser = FALSE)
第一个参数 $type, 可能的值为node,comment等。
第二个参数 $object,如果type为node, 则$object就为node对象。
第三个参数 $teaser 如果为$node类型,则0,1表示该link是否显示在teaser中.
具体可参考:http://api.drupal.org/api/function/hook_link/6
那么想修改别的模块生成的link呢,很幸运,drupal为我们提供了另一个hook:
hook_link_alter(&$links, $node)
$links为引用类型,结构如下:
<?php
$links["comment"] = array(
'title' => t('Your title'),
'href' => 'create/comment',
'query' => 'destination=node/'.$node->nid,
);
?>
$links["comment"] = array(
'title' => t('Your title'),
'href' => 'create/comment',
'query' => 'destination=node/'.$node->nid,
);
?>
因为是引用,所以不用有返回值.
例:
function photos_link_alter(&$links,$node){
$links["comment"] = array(
'title' => t('Your title'),
'href' => 'create/comment',
'query' => 'destination=node/'.$node->nid,
);
}
$links["comment"] = array(
'title' => t('Your title'),
'href' => 'create/comment',
'query' => 'destination=node/'.$node->nid,
);
}
希望本文所述对大家的drupal二次开发有所帮助。