onethink钩子与插件的使用.

上传人:今*** 文档编号:105736884 上传时间:2019-10-13 格式:DOCX 页数:17 大小:1.56MB
返回 下载 相关 举报
onethink钩子与插件的使用._第1页
第1页 / 共17页
onethink钩子与插件的使用._第2页
第2页 / 共17页
onethink钩子与插件的使用._第3页
第3页 / 共17页
onethink钩子与插件的使用._第4页
第4页 / 共17页
onethink钩子与插件的使用._第5页
第5页 / 共17页
点击查看更多>>
资源描述

《onethink钩子与插件的使用.》由会员分享,可在线阅读,更多相关《onethink钩子与插件的使用.(17页珍藏版)》请在金锄头文库上搜索。

1、浅谈初步理解钩子,并且开发插件钩子:在系统中提供给你一个钩子(挂载点),我们可以进行插件开发,开发完成后,我们将其挂载到钩子(挂载点)上,那么插件就会在Hook.class.php类监听到钩子的时候自动调用插件中对应的钩子方法这里以官方OT前台Home中的Article控制器为例进行说明,比如在我们的(Article)控制器的(Article)视图里面有这样的一段代码:意思就是:相当于在这边打一个钩子(挂载点) ,我们可以将插件挂载到那里官方的说法:documentDetailAfter是视图末尾显示用的钩子意思就是说,在视图末尾的时候,会自动调用挂载在那个钩子上的插件,那么,我们就来做一个挂

2、载在documentDetailAfter钩子上的简单小插件,进入OT管理后台进行插件的新增:我们这边测试用的都是默认值,至于实现的钩子方法:这里我们选的是: documentDetailAfter就是要我们的插件挂载到documentDetailAfter这个钩子(挂载点)上。点击确定,跳转到插件列表,你会看到我们新建的小插件:然后,也会在Addons根目录下给我们生成一个插件目录我们在插件列表,点击新建的小插件进行安装然后看我文档末尾,也就是 文章 末尾处,还是没有任何东西的 这时候,我们进入给我们生成的插件目录里边 里面有两个文件:插件名+Addons.class.phpconfig.p

3、hp 一个是插件主文件,一个是插件配置文件我们打开主文件。看下面的注释,我们就知道怎么做啦,就是你需要开发什么样的插件,代码写在那边就好了,钩子会自动调用的。 我们最简单的输出一句话 “这就是传说中的钩子”然后,Article文章视图页,一看,出来了!只要是视图中有这个挂载点,也就是钩子,都会自动调用这个插件,然后输出接下来演示,模版调用我们在插件目录,建立一个html文档,因为这边是在Article文章控制器中调用的,所以名字为 Article.html然后在钩子方法里面直接 display调用即可文章页面此时就输出我们的模版啦!接下来,我们讲一下,配置文件的使用我们在管理后台打开,官方的一

4、个插件,点击设置,可以看到如下设置项但是,打开我们的插件时候,没有设置项。这是因为我们刚刚新建插件的时候,是否需要配置,没有选上我们打开我们的插件配置文件,发现里面是空的,我们就自己添加吧!在我们插件目录的配置文件中,添加我们的配置项配置完成后我们回到插件列表,此时我们新建的小插件仍然没有设置项,我们需要做的是把插件卸载后再重新安装,操作完以后,我们再来看:然后,在插件列表中,点击设置,看到没,出来咯!现在,我们只需要把我们填写的配置项,同步到模版就好啦!额,没有文档,只能看官方的插件,就用这个方法:$this-getConfig()从字面上的意思来理解,就是获取我们的配置信息,我试了试结果的

5、确是这样做的,在文章中打印出了我们的配置项!前提是,在设置中,我们填写了这些信息接下来,我们只要把它传递到模版中就好啦!模版中一个简单的插件,就这样好了,不知道你对于钩子,怎么理解现在,再来讲讲钩子现在有一个需求:需要在我的首页文章列表中,标题后面加上我的网址其实也很简单首先我们新增一个钩子 :url然后,把他挂载到我们需要挂载的地方去挂载的语法是:1. :hooks(钩子名)我们找到首页模版,加上就好然后捏:在插件管理中,新建一个插件,挂载到这个 url 钩子上。方法都是一样的结尾,在说说钩子的原理吧。有人把他比作为 钉子 ,我是这样看的。js大家知道吧?js给一个按钮,添加点击事件弹出aaa后,点击一下,就会弹出aaa。这里的,添加绑定事件 就等于 添加 钩子当系统执行时,发现那里有一个钩子,就会自动调用挂载在钩子下的插件

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号