国外设计欣赏网站 - DOOOOR.com

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

[Drupal教程] Drupal:hook_link和hook_link_alter钩子函数介绍

[复制链接]
发表于 2-1-2012 22:34 | 显示全部楼层 |阅读模式
Drupal中有个钩子,叫做hook_link,参数如下:
" E" N( N; o7 _+ R  z7 J% I3 g! r3 }$ S0 G6 ?+ I, K- U7 S6 J
hook_link($type, $object, $teaser = FALSE),4 l* f# V; [9 a% @, J* b0 @* }
8 i: `  l7 i( O4 I2 X6 H1 y; e8 O
第一个参数 $type, 可能的值为node,comment等。
. G% k* M: e3 [( r" d6 G! a$object,如果type为node, 则$object就为node对象。/ Z1 ^9 H. t# o7 K4 y4 K
$teaser 如果为$node类型,则0,1表示该link是否显示在teaser中.
. j* x8 x1 N* n6 v! i1 v( a
; V5 d" s) ?, [参考:http://api.drupal.org/api/function/hook_link/6
- b% K; j/ O% f3 Q  h
: g( Q1 y6 ?; m3 h) r
9 m% N, L' b/ M0 u  }! |, z那么想修改别的模块生成的link呢,很幸运,drupal为我们提供了另一个hook - hook_link_alter(&$links, $node)
' \; n5 m- R" {) W4 m: D) |$links为引用类型,结构如下:/ A7 A9 ]) ~3 m, ?" T

* ~0 ?0 y# z  F; B$ J" e: f+ j$ Y" y- e' P: z: u: R6 Z
<?php
$ X8 J( w# Y- B5 F# C2 g! ~$links["comment"] = array(6 r9 |) S8 c) Q
'title' => t('Your title'),
3 B; Z, j7 q( O'href' => 'create/comment',
; {8 ]6 @  L, I, G: s8 K0 Z'query' => 'destination=node/'.$node->nid,
: L% [, U5 W# N  U9 T/ @);* J4 O, f: r$ V& F) d
?>
4 ~& H$ J9 V! `8 o) v) M因为是引用,所以不用有返回值.7 S  F! M5 v+ r; Q1 u, h: ~

3 W4 X# s+ @7 `) c
; i# [% j4 ~" [) E2 X例:
4 n& `, A( Z. g+ D/ Xfunction photos_link_alter(&$links,$node){( q& p: y! V3 L
$links["comment"] = array(- u7 Q1 A" {8 W+ o0 U( q2 b
'title' => t('Your title'),
4 _' a6 K. }8 P'href' => 'create/comment',
& B. X0 y* \3 w( V8 r1 Y" }'query' => 'destination=node/'.$node->nid,
$ g- V8 C2 j" B8 V6 E8 Q3 k);3 M& p$ Y) s7 U# x: \5 _* r* T/ K5 V
}
6 t% z0 z, h  c% {9 x! ]: J9 ?5 r2 U# N9 `

) A- m! x' x( W0 a! b
$ A+ g( U7 ]2 }. W5 L! _
2 y" t2 z- n. W

|2011-2026-版权声明|平台(网站)公约|手机版|手机版|DOOOOR 设计网 ( 吉ICP备2022003869号 )

GMT+8, 12-18-2025 19:35 , Processed in 0.268497 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表