本文关键词: Wellcms 插件 例子
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。
wellcms 有着完善的插件开发机制,使得性能方面零损耗,不影响编译,强大而又简单,只需具有php和mysql基础就可以自由扩展程序的功能。
插件详细的例子可以参照 免费应用 作为例子
开发插件步骤:
在 plugin 目录 建一个插件目录,通过英文作者名加下划线加功能名。
plugin/
conf.json (配置文件)
icon.png (图标宽高:200*200)
install.php(数据表文件,以及需要操作的一些代码,有需求则使用此命名文件)
uninstall.php(卸载插件的数据表,缓存,附件等,有需求则使用此命名文件)
setting.php(插件后台设置参数文件,此命名文件与普通业务相同,系统默认搜索这个命名文件)
well_example/ (插件目录)
hook/ (hook文件存放目录)
index_route_case_end.php (插入点,该插入点在 index.inc.php)
route/ (业务逻辑目录)
example.php (业务逻辑文件)
conf.json 内容:
{"name": "插件名example","brief": "插件介绍example brief","type": "0", // 无需修改 "version": "1.0.0", // 插件版本"software_version": "2.0.0","installed": 0,"enable": 0,"hooks_rank": [], // 同一点hook优先插入"overwrites_rank": [], // 最大值overwrite"dependencies": [] // 依赖其他插件}
plugin/well_example/hook/index_route_case_end.php 内容
<?php exit;case 'example': include _include(APP_PATH . 'plugin/well_example/example.php'); break?>
plugin/well_example/route/example.php 内容
<?php message(0, 'Hello, My plugin'); ?>
网址访问:
http://www.domain.com/?example.html
如设置了伪静态在网址为
http://www.domain.com/example.html
如需增加其他功能,查看官方相关文件预留的 hook 点,直接 hook 业务逻辑即可。
开发插件新页面,且支持模板替换模式,仅限前台模板使用替换模式,后台模板一律使用绝对路径,不建议修改后台模板。
well_example 目录 新建 view 目录 css 和 js 分类存放,模板存放 view/htm 目录。
plugin/well_example/route/example.php 内容
<?php!defined('DEBUG') AND exit('Access Denied.');/* 前台加载模板使用这种方式,后台使用下面绝对路径的方式 'well_example' 为区分模板参数,未避免冲突,统一加前缀,well_list 对应 list.htm 自行决定使用字母,必须加统一前缀 0 为绑定ID 没有则写0即可 'well_example' 插件目录 */include _include(theme_load('well_example', 0, 'well_example')); // 模板替换模式,前台模板推荐这种方式//include _include(APP_PATH . 'plugin/well_example/view/htm/example.htm'); // 此方式无法使用前台主题替换,只能hook或覆盖方式,后台模板推荐这种方式?>
plugin/well_example/view/htm/example.htm 内容为
<!-- 加载公用页头,自行制作,注意修改路径 --><?php include _include(APP_PATH.'view/htm/header.inc.htm');?><h1>My template</h1><!-- 加载公用页脚,自行制作,注意修改路径 --><?php include _include(APP_PATH . 'view/htm/footer.inc.htm');?>
plugin/well_example/hook/theme_load_case_end.php 内容为
<?php exit;case 'well_example': $pre .= $default_pre .= 'example.htm';?>
安装插件,清空缓存。
网址访问:
http://www.domain.com/?example.html
如设置了伪静态在网址为
http://www.domain.com/example.html
如果您对网站的内容有任何想法或意见,请call我!~~
插件商城一直提示我异地登录,怎么解决重复登录几次还是不行...
《PHP学习:CI框架入门之MVC简单示例》要点:本文介绍了PHP学习:CI框架入门之MVC简单示例,希望对您有用。如果有疑问,可以联系我们。 本文实例讲述......
# thinkphp官方伪静态设置<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d Rewrit......
V1.2.2版本开始order排序进行调整,默认情况下置顶、推荐、头条具有优先显示,包括使用date、sorting、visits、likes、oppose时,那么如果......
帝国cms过滤特定的字符函数,多用于简介地方,把函数放在“/e/class/connect.php”最后面,当然你只对前台过滤也可以放在“/e/class/userfun.php”里面,我由于要对整个系统二......
处女贴,平时从社区学习到很多,今天做了一个复制功能,也贴出来分享给需要的人。第一步:复制edit.html,另存为copy.html第二步:打开js文件,增加一个复制按钮 ......
第一个在:/e/admin/ecmseditor/infoeditor/config.js;第二个在:/e/admin/ecmseditor/tempeditor/config.js;第三个在:/e/data/ecmseditor/infoeditor/config.js;你要把这三......
使用前:使用后位置中在27行找到.fixed-table-body-columns table 修改样式.fixed-table-body-columns table { /*position: absolute;*/ /*animation: no......
微信扫码分享