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

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

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

[复制链接]
发表于 2-1-2012 22:34 | 显示全部楼层 |阅读模式
Drupal中有个钩子,叫做hook_link,参数如下:, Q% X' d7 _( q

+ i* N( o# X  p% p' L) |: e% xhook_link($type, $object, $teaser = FALSE),0 R  E$ R1 }0 o; E7 A$ q1 _- s

; v! _. O9 G# p$ r第一个参数 $type, 可能的值为node,comment等。
* Z3 S7 Y0 P9 E' Q  Z8 v8 t& T0 i$object,如果type为node, 则$object就为node对象。
  G6 Y0 [) f" l6 T* ~5 W$ ?" O$teaser 如果为$node类型,则0,1表示该link是否显示在teaser中.0 {+ ~7 i$ t8 y3 J! g

7 P9 o- j! `! N) s参考:http://api.drupal.org/api/function/hook_link/6
9 n3 j, n1 Z8 P: v) V# Z. o+ e& R; M
' S% R; ]! R4 U, L  R  L! {1 ]& V. _0 Z* N- T+ v" {0 q) O* o4 f" B& K  b
那么想修改别的模块生成的link呢,很幸运,drupal为我们提供了另一个hook - hook_link_alter(&$links, $node)
3 m0 m: E7 ~/ _: ?! ^8 V5 c0 s1 {$links为引用类型,结构如下:
" u' x& i% z# N; H+ W1 j# C: l0 P: l1 O
1 E$ y. A, o& }( N
<?php
3 J" ~& [5 j! P6 n+ g7 B$links["comment"] = array(
8 X! R% I, |- j5 K'title' => t('Your title'),' }( o) a0 o6 e
'href' => 'create/comment',% f1 a) B' B3 ?4 `# ?* c2 ^& w
'query' => 'destination=node/'.$node->nid,* M; [& G* M$ K# |! Y0 P$ l
);
6 M2 F) J) I7 v+ [* p* k?>
; ~% }* ?8 x) e# Z因为是引用,所以不用有返回值.- q( `) N  @/ i8 C/ s9 |9 N

1 \; {( O5 ^1 O1 a9 L0 P
: H$ B: A, }( o1 _/ \例:. A' d6 L" W2 G1 m4 @9 v3 F/ }
function photos_link_alter(&$links,$node){
( D# L, V6 t7 J1 U6 D9 ~% F$links["comment"] = array(
1 k2 S+ @/ j9 W: H+ X( n) e! g'title' => t('Your title'),8 R6 [7 B$ f2 h' T" T
'href' => 'create/comment',
! w* o3 X0 X/ s) n$ G  H" q/ M'query' => 'destination=node/'.$node->nid,
- ~9 I' d$ L' a);) `- m% p0 m6 F
}
4 K. z6 j, I# s$ H, J1 }! `$ @' X6 H+ c8 Q( \

2 C4 m6 V/ h( E3 Y( W4 D7 o: e! F( j2 D) k+ w" `# `/ [  M
1 J# S* d; F2 g2 `0 b+ D& Z* G, _

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

GMT+8, 2-12-2025 15:57 , Processed in 1.810027 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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