Onethink下载请自行百度咯,安装也就几秒钟。

高手(略),只是针对和我一样需要了解的菜鸟。

主要讲一讲onethink插件的使用,因为这对我们的快速开发有帮助,所以记录一下,同时也希望能够帮助一下正在想要了解的朋友。

我们从钩子讲起,先看下面的后台界面:

step1.   选择“新增”

step2.   根据需求填写(钩子名唯一),然后点击“确定”,提示创建成功。

如图:

钩子创建完毕。

Next:

step4.   有钩子就要调用,找到需要调用的模板,添加如下语句:      {:hook('BannerImageSlide')}

注意:是hook,不是hooks;

Next:

step5.  点击“插件管理”的“快速创建”

Next:

step6.   根据需要选择或填写,点击"确定"。

Next:

step7.  点击安装。

返回文件,查看生成的目录和文件:

在./Addons/下生成了ImageSlide目录和config.php,ImageSlideAddon.class.php两个文件

如何看我们的插件在你自己的钩子下有效果呢?

在类中找到你的钩子的方法,并且打印一下试试。

如果调用的地方打印了刚才插件中echo的信息,说明就可以调用了。如果没有调用,就要重新仔细检查一下,看是不是没有调用对位置。

插件怎么写呢?

Next,编写插件模板:

step9.  问号中的内容是分配给这个模板的变量,可以先用占位符表示。

值得一提的是,编写插件模板就和我们写html页面没区别。同样可以在页面中引入插件需要的css,js,images等资源。

在插件类分配变量:

这里的配置不是很方便说明,后面再解释。

配置好以后,就可以使用插件的“设置”操作

没有配置前:

添加了插件配置信息过后:

step10.  如果没有出现“设置”操作,请先“卸载”,再安装。点击“设置”;

Next:

step11.   填入要显示的值

step13.  点击“确定”。

Next:

step15.  找到插件类文件,并且获取配置信息,并分配变量到模板文件content.html

效果如上,下一步很自然,在插件模板中获取变量值。

Next:

最后效果如图:

注意如果红框中的值,没有得到,很有可能你没有在插件“设置”中设置值。

希望对需要的朋友有帮助,下一步就是用插件制作一个图片滚动效果。

Onethink1.1 钩子和插件的使用!的更多相关文章

  1. php中的钩子(hook插件机制)

    对"钩子"这个概念其实不熟悉,最近看到一个php框架中用到这种机制来扩展项目,所以大概来了解下. hook插件机制的基本思想: 在项目代码中,你认为要扩展(暂时不扩展)的地方放置一 ...

  2. PHP钩子机制

    什么是钩子 大家想必听过插件,wordpress插件特别多,这个就是用钩子机制实现的. 当代码在运行的过程中,我们预先在运行的几个特殊点里执行一些特殊方法:例如在运行方法(例如Blog::add的ad ...

  3. php插件机制实现原理

    插件,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现) 它的特点: 1. 随时安装.卸载.激活.禁用 2. 无论什么状态都不影响系统核心模块的运行, 3. 是一种非侵入式的模块化设 ...

  4. Wordpress解析系列之PHP编写hook钩子原理简单实例

    Wordpress作为全球应用最广泛的个人博客建站工具,有很多的技术架构值得我们学习推敲.其中,最著名最经典的编码技术架构就是采用了hook的机制. hook翻译成中文是钩子的意思,单独看这个词我们难 ...

  5. wordpress学习(三)-----add_action动作钩子和add_filter()过滤器钩子

    <?php echo "<h2>高级教程add_action动作和add_filter()过滤器</h2><br/>"; //1.学会使用 ...

  6. 如何编写一个WebPack的插件原理及实践

    _ 阅读目录 一:webpack插件的基本原理 二:理解 Compiler对象 和 Compilation 对象 三:插件中常用的API 四:编写插件实战 回到顶部 一:webpack插件的基本原理 ...

  7. Pytest权威教程19-编写钩子(Hooks)方法函数

    目录 编写钩子(Hooks)函数 钩子函数验证和执行 firstresult: 遇到第一个有效(非None)结果返回 hookwrapper:在其他钩子函数周围执行 钩子(Hooks)函数排序/调用示 ...

  8. webpack编写一个plugin插件

    插件向第三方开发者提供了 webpack 引擎中完整的能力.使用阶段式的构建回调,开发者可以引入它们自己的行为到 webpack 构建流程中.创建插件比创建 loader 更加高级,因为你将需要理解一 ...

  9. Pytest_Hook钩子函数总结(14)

    前言 pytest 的钩子函数有很多,通过钩子函数的学习可以了解到pytest在执行用例的每个阶段做什么事情,也方便后续对pytest二次开发学习.详细文档可以查看pytest官方文档https:// ...

随机推荐

  1. Linux使用手册-时区和时间设置

    1. #vi /etc/sysconfig/clockZONE=”Asia/Shanghai”UTC=false2.#vi /usr/share/zoneinfo/Asia/Shanghai,如果结尾 ...

  2. mysql存储过程中 乱码问题解决办法

    中文乱码无论在何时都是一个头疼的问题,mysql的存储过程参数也同样存在这个问题.1.直接使用insert into语句没问题,能够正常插入汉字.2.把insert into语句移到Procedure ...

  3. C# 委托及各种写法

    委托是神马? 委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法(或多个方法).通俗的说,委托是一个可以引用方法的对象,当创建一个委托,也就创建一个引用方法的对象,进而就可以调用那个方法, ...

  4. PHP 面向对象

    封装与不封装的区别:   未封装 时 外部随意更改数据   数据 不需要判定 就可以执行    外部直接操作数据 封装:  外部同样可以对数据更改,但需要 调用  类里面的  函数  外部间接操作数据 ...

  5. 使用jquery实现单选框、多选框取消选中状态

    function radioReset(){ /*方式一*/ /* var radios = $("input[type='radio']"); for (i=0; i<ra ...

  6. android 第三方登录 --- QQ

    1,jar包 2,配置AndroidManifest.xml <activity android:name=".login.LoginActivity" android:co ...

  7. Java基础学习(一)

    常见的dos命令 盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录    注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. cd ...

  8. Designing IP-Based Video Conferencing Systems: Dealing with Lip Synchronization(唇音同步)

    转自:http://www.ciscopress.com/articles/article.asp?p=705533&seqNum=6 Correlating Timebases Using ...

  9. 修改nignx报错Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

    Nginx [emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 这个错误是修改了nginx的配置时出现,表名80端口被程 ...

  10. tomcat的debug模式启动不了

    这个问题可能是由于eclipse和tomcat的交互而产生的,在以debug模式启动tomcat时,发生了读取文件错误,eclipse自动设置了断点,导致tomcat不能正常启动.解决方法如下,打开b ...