写这个Demo为了让同学们了解如何快速创建一个自定义HOOK,并且在其他的模块里面调用它.
主要是使用了module_invoke_all('hook_name'),参数hook_name就是我们要定义的Hook了.
下面贴上完整的测试代码,记得要清除performance里面的cache data,然后点击菜单上的'Test my hook'!
Enjoy! :-)
mygarden.info
name = mygarden description = test my hook package = custom version = VERSION core = 6.x
------------------------------------------
mygarden.module
<?php
function mygarden_menu(){
$items = array();
$items['mypath/mygarden'] = array(
'title' = t('Test my hook'),
'page callback' => 'myfunc',
'access arguments' => array('access contents'), );
return $items;
}
function myfunc(){ // 定义一个 hook_sayHello,记得在performance里面清除cache!!!!
module_invoke_all('sayHello');
}
function mygarden_sayHello(){
echo 'mygarden_sayHello';
echo ' ->mygarden模块调用[hook_sayHello] was success!!';
echo '';
}
------------------------------------------
myflower.info
name = myflower description = test my hook package = custom version = VERSION core = 6.x
------------------------------------------
myflower.module
<?php
function myflower_sayHello(){
echo 'myflower_sayHello';
echo 'myflower模块调用[hook_sayHello] was success!!';
echo '';
}
Drupal花园 Mark 原创教程 转载请保留 http://drupalgarden.cn/content/wo-de-drupal-wo-zuo-zhu-shi-zhan-zi-ding-yi-hook
Drupal 版本
这个是不带参数的,如果myflower_sayHello
这个是不带参数的,如果myflower_sayHello 是带参数,有返回的呢,如何得到返回值?我是新手,求指导
可以用引用传递的方式解决
可以用引用传递的方式解决
其实这样是不是可以写一些公用的模块,里面放上一些重用度比较