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

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,微信登陆

搜索

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

[复制链接]
发表于 2-1-2012 22:34 | 显示全部楼层 |阅读模式
Drupal中有个钩子,叫做hook_link,参数如下:
+ g7 v7 j9 n% M
0 A8 [) w8 k3 {/ Y2 J  dhook_link($type, $object, $teaser = FALSE),
" d! ~3 X9 o6 u$ T& {
% F, H9 @, V# w* E- C第一个参数 $type, 可能的值为node,comment等。
. |+ A  }, x& e6 F) x$object,如果type为node, 则$object就为node对象。
, G  v, q  J) U# @$teaser 如果为$node类型,则0,1表示该link是否显示在teaser中.
! a) F/ h0 p) ^0 b# t  H/ Q
- I6 d2 R1 _- K9 J9 K! |. |参考:http://api.drupal.org/api/function/hook_link/6
8 V! |) f/ D$ s
8 H# [! c- R+ G4 ?- i7 K; h
: R2 w1 Z1 l! ?- A那么想修改别的模块生成的link呢,很幸运,drupal为我们提供了另一个hook - hook_link_alter(&$links, $node)
1 b* G6 w9 L! r* T; `- o) L$links为引用类型,结构如下:8 t6 o5 t# h9 F8 d7 R5 t

  `* H" m1 ?- H4 v1 \: n8 J6 x, h5 n4 u1 E* x, N9 e( |
<?php
8 ~9 L, V. R1 h/ c$links["comment"] = array(
  y& y3 e8 \* W3 J2 d; N'title' => t('Your title'),
7 L5 V  r/ r# ?7 V) L7 E9 o% K1 o'href' => 'create/comment',
5 I* ?5 Y1 A4 E0 E/ X$ X'query' => 'destination=node/'.$node->nid,9 S9 R  G7 w3 p4 v$ T, h
);
# B, x- {( ?, f( Z7 s?>* M3 _9 z8 L5 ^  f' S+ L
因为是引用,所以不用有返回值.* A9 x; f# L/ {  o

! y/ W4 s4 F. w. H! r3 b8 o. o; ]1 a/ I& u# n
例:
0 T) Q: [% C, x' n/ G; P5 Sfunction photos_link_alter(&$links,$node){0 j3 G  D4 m& H2 y' R
$links["comment"] = array(: L+ w+ i- Y3 w" R5 B
'title' => t('Your title'),
9 c5 ~7 d" r+ `, w  A'href' => 'create/comment',
# {' o6 C$ B( c" E" n'query' => 'destination=node/'.$node->nid,
4 J. T7 U$ |6 i* z* H$ {);
5 z  R0 b. B, ~0 g, S  ?4 G" K}
- t! s% A) \, @5 f+ N* S; l4 Y. l% X8 K+ K5 R1 G4 ~

% L* V3 c! W) c; Z7 W) [1 H4 t  }. y# d$ h1 R

6 S- q6 o+ Y) M

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

GMT+8, 3-20-2025 15:46 , Processed in 0.294212 second(s), 29 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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