Drupal自定義鉤子

2021-07-04 10:02:16 字數 1248 閱讀 5934

drupal可以讓第三方模組建立自己的鉤子,在通常的實踐中,有兩種型別的鉤子你可能想要建立,一種是內容修改類的鉤子,一種是攔截類的鉤子.

drupal的鉤子系統允許和模組互動並改變其他模組的邏輯,甚至是改變drupal核心邏輯,這是乙個非常簡單的系統,甚至可以讓第三方模組建立自己的鉤子,在通常的實踐中,有兩種型別的鉤子你可能想要建立,一種是內容修改類的鉤子,一種是攔截類的鉤子,修改類的鉤子提供了乙個標準的方法來修改某個特定物件或變數的內容,典型的是使用 drupal_alter()函式,攔截類的鉤子可以讓第三方模組在模組執行過程中根據條件做出一些動作.

例1:簡單呼叫,**如下:

<?php 

// will call all modules implementing hook_hook_name

module_invoke_all('hook_name'

); ?> 

例2:聚合結果,**如下:

<?php 

$result

= array

(); 

foreach

(module_implements(

'hook_name'

) as

$module

)   //開源軟體:phpfensi.com

?> 

例3:使用 drupal_alter() 改變內容,**如下:

<?php 

$data

= array

( 'key1'

=> 

'value1'

, 'key2'

=> 

'value2'

, ); 

// will call all modules implementing hook_my_data_alter

drupal_alter('my_data'

, $data

); ?> 

例4:引用傳參,不能使用 module_invoke,**如下:

<?php 

// @see user_module_invoke()

foreach

(module_implements(

'hook_name'

) as

$module

)  ?>

drupal 自定義模組許可權設定

items admin module name search array title search page callback function 1 page arguments array 1,2,3,4 weight 1,file users center.pages.inc 此處設定許可權 a...

自定義指令(鉤子函式)

自定義指令 指令是個函式 物件,用來操作dom的,裡面的this 返回window a 全域性 vue.directive 指令名不帶v 函式 el,binding el 使用指令的dom元素 binding 是個物件 含有傳入的 引數 binding.value b 區域性 定義在選項裡面 dir...

自定義指令的鉤子函式

doctype html en utf 8 viewport content width device width,initial scale 1.0 x ua compatible content ie edge document title vue.js script 自定義指令的鉤子函式 1 ...