discuz中的hook是一个很有意思的创新,俗称钩子。
hook,实际上是对应的hook 点是在入口文件加载数据,在对应的hook点以字符串的形式输出。在模板中的使用的方式为:
<!–{hook/index_top}–>
处理相关脚本的核心函数为:
function_core.php
function hookscript($script, $hscript, $type = ‘funcs’, $param = array(), $func = ”, $scriptextra = ”);
系统原调用的操作方式为:
runhooks();
每个入口文件里几乎都有,为当前入口和动作,调用对应的相关的hook。
也就是通过hookscript这个函数处理。
所以如果我想在portal的首页调用forum的index的钩子,那就会有问题,没有执行。导致在protal模板中输出的<!–{hook/index_top}–> 为空。
知道来由就好说了。
现在再再运行的过程中的,我自己手动调用相关的函数,自己伪造下页面和入口。
即:
runhooks();//我不去除的主要原因是每个页面都有自己的默认钩子,如全局的头和脚.
hookscript(“index”,”forum”);//这个就是咱们要的部分了。
这就是异页面调用钩子的方式了。
转发请注明出处http://blog.martoo.cn
如有漏缺,请联系我 QQ 243008827
My brother suggested I might like this web site. He was totally right. This post truly made my day. You can not imagine just how much time I had spent for this info! Thanks!