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. @echo off 与echo off

    echo off 关闭其他命令的显示(但是不包括自身这条命令) @echo off 关闭所有命令的显示(@关闭其后命令的显示)

  2. Effective C++阅读笔记_条款2:尽量以const,enum,inline替换#define

    1.#define缺点1 #define NUM 1.2 记号NUM可能没有进入记号表,在调试或者错误信息中,无法知道1.2的含义. 改善:通过const int NUM = 1.2; 2.#dein ...

  3. thinkphp 杂项(3.2.3)

    G('start');//时间描点start php代码.... G('end');//时间描点end echo G('start','end',4).'-----------'; 时间统计echo ...

  4. AngularJS介绍

    AngularJS介绍–AngularJS的前世今生 AngularJS是什么 在Web开发领域,我们一般使用HTML作为前端页面元素的声明式语言,使用CSS技术作为展示样式的描述语言,JavaScr ...

  5. hadoop入门(3)——hadoop2.0理论基础:安装部署方法

    一.hadoop2.0安装部署流程         1.自动安装部署:Ambari.Minos(小米).Cloudera Manager(收费)         2.使用RPM包安装部署:Apache ...

  6. shell腳本

    1.awk过滤重复行 awk '!a[$0]++{print $0}' 过滤重复行 awk '!a[$1]++{print $1}' 过滤第一列重复行 并只打印第一列 awk '!($1 in a){ ...

  7. 移动端使用让图片或者div垂直居中

    ._limgMIiddle{ /* Firefox */ display:-moz-box; -moz-box-pack:center; -moz-box-align:center; /* Safar ...

  8. pyqt5 开发环境

    pyqt5 pycharm mac下开发环境 brew install python3 安装python3 brew install pyqt5 配置pycharm http://blog.csdn. ...

  9. MemCache

    MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高了网站访问的速度.Mem ...

  10. Win7下完全卸载Oracle 11g

    1 右击“计算机”-->管理-->服务和应用程序-->服务,停掉所有Oracle相关的服务(以Oracle打头的,比如OracleDBConsoleorcl). 2 开始--> ...