您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
PHPCMS插件开发步骤教程
开梦2025-05-26phpcms教程已有人查阅
导读虽说PHPCMS开源,但其它开发文档及参考资料实在少得可怜。进行二次开发时,自己还得慢慢去研究它的代码,实在让人郁闷。
虽说PHPCMS开源,但其它开发文档及参考资料实在少得可怜。进行二次开发时,自己还得慢慢去研究它的代码,实在让人郁闷。
PHPCMS的“Baibu/Google地图”实在有待改进,对于数据量比较大的网站来说,就一个字,烂!为了SEO不得不另辟蹊径,于是研究了几个PHPCMS自带的插件,为了方便以后的插件开发,顺便总结一下。
PHPCMS插件基本目录结构:
└plugin(插件目录名,下同)
├admin
├include
├templates
├admin.inc.php
└priv.inc.php
├include
├common.inc.php
└priv.inc.php
├install
├languages
├plugin.lang.php
└plugin_admin.lang.php
├templates
├chmod.txt
├config.inc.php
├extention.inc.php
└mysql.sql
├uninstall
├delete.txt
├extention.inc.php
└mysql.sql
└index.php
先讲讲插件的安装吧。文件夹:plugin/install
plugin/install/languages文件夹内的文件是你所开发的插件的语言标签文件。语言标签类似这样子的“$LANG['tag_name']='语言标签内容'';”,语言标签文件通常有两个,一个是前台的,一个是后台的。
plugin/install/templates文件夹内的插件模板文件在安装时会被复制到当前模板方案所在目录下的插件模板目录里(如templates/default/plugin),所以如果安装插件后要更换模板方案,需要把插件模板目录复制一下。但是,如果你开发的插件没有前台功能,templates这个文件夹可以直接删掉。顺便提下,name.inc.php文件存放的是当前目录下的所有模板文件的中文名,每一个模板目录里都有这个文件的。
如果你所开发的插件需要将数据写入指定文件夹内时,需要将指定文件夹路径保存到chmod.txt文件内,插件在安装时会赋予所指定的文件夹写入权限。格式:“plugin/data/”,每行一条记录。
config.inc.php文件保存的是插件的相关信息,如插件名称、开发者相关资料什么的。如下:
插件的卸载。文件夹:plugin/uninstall
主要就是三个文件(请看插件基本目录结构)。作用分别是:删除插件文件,删除插件相关的表及数据(后台菜单)。
以上内容只是前菜,下面端上主菜了,以我自己开发的“XMLSitemap”插件为例,扭扭脖子开始吧。
先说说下面两个文件的代码,注意看注释
plugin/include/common.inc.php
plugin/include/priv.inc.php
plugin/admin文件夹里的是插件后台相关文件,可以说是插件的核心部分。其下文件的命名方式是:xxx.inc.php,不过其中的priv.inc.php是插件“权限设置”页面,此文件名不能更改,若插件不考虑权限的话可直接删除,而admin.inc.php文件是必须有的,它是插件连接后台的桥梁。
plugin/admin/templates下是插件后台模板文件,模板文件的命名方式是:xxx.tpl.php,不过如果所开发的插件涉及到前台标签,还需要几个特殊的模板文件,如下:
PHPCMS的“Baibu/Google地图”实在有待改进,对于数据量比较大的网站来说,就一个字,烂!为了SEO不得不另辟蹊径,于是研究了几个PHPCMS自带的插件,为了方便以后的插件开发,顺便总结一下。
PHPCMS插件基本目录结构:
└plugin(插件目录名,下同)
├admin
├include
├templates
├admin.inc.php
└priv.inc.php
├include
├common.inc.php
└priv.inc.php
├install
├languages
├plugin.lang.php
└plugin_admin.lang.php
├templates
├chmod.txt
├config.inc.php
├extention.inc.php
└mysql.sql
├uninstall
├delete.txt
├extention.inc.php
└mysql.sql
└index.php
先讲讲插件的安装吧。文件夹:plugin/install
plugin/install/languages文件夹内的文件是你所开发的插件的语言标签文件。语言标签类似这样子的“$LANG['tag_name']='语言标签内容'';”,语言标签文件通常有两个,一个是前台的,一个是后台的。
plugin/install/templates文件夹内的插件模板文件在安装时会被复制到当前模板方案所在目录下的插件模板目录里(如templates/default/plugin),所以如果安装插件后要更换模板方案,需要把插件模板目录复制一下。但是,如果你开发的插件没有前台功能,templates这个文件夹可以直接删掉。顺便提下,name.inc.php文件存放的是当前目录下的所有模板文件的中文名,每一个模板目录里都有这个文件的。
如果你所开发的插件需要将数据写入指定文件夹内时,需要将指定文件夹路径保存到chmod.txt文件内,插件在安装时会赋予所指定的文件夹写入权限。格式:“plugin/data/”,每行一条记录。
config.inc.php文件保存的是插件的相关信息,如插件名称、开发者相关资料什么的。如下:
$module = "sitemap";
$modulename = "XML Sitemap";
$introduce = "";
$author = "Victor";
$authorsite = "http:// .sougee.com/";
$authoremail = "admin@sougee.com";
extention.inc.php 文件主要用于创建后台菜单,通常是模块管理下相关菜单及模板管理下相关菜单。后台菜单链接地址的格式说明如下:
/*
* mod=sitemap 模块名称,插件文件夹
* file=build 对应plugin/admin/build.inc.php文件
* action=manage 相关参数
* 如果这里的mod=phpcms,file=build 对应的则是根目录下的admin/build.inc.php文件
*/
?mod=sitemap&file=type&action=manage
/*
* 以下的菜单链接通常用于模块的 "新建模板" 或 "模板管理"
* 给相关插件添加菜单时,只要把 module 的值改为插件模块名即可($module)
*/
?mod=phpcms&file=template&action=add&module=guestbook
/*
* 如果你的插件涉及语言标签文件
* 务必在extention.inc.php文件里加入以下代码
* 作用是将插件里的语言标签文件复制到PHPCMS根目录下的languages/文件夹里
*/
dir_copy(PHPCMS_ROOT . $installdir . '/install/languages/', PHPCMS_ROOT . 'languages/' . LANG . '/');
mysql.sql文件里有一条语句是必须的,“INSERT INTO`phpcms_module`...”,需不需要创建表什么的就看你开发的插件而定了。插件的卸载。文件夹:plugin/uninstall
主要就是三个文件(请看插件基本目录结构)。作用分别是:删除插件文件,删除插件相关的表及数据(后台菜单)。
以上内容只是前菜,下面端上主菜了,以我自己开发的“XMLSitemap”插件为例,扭扭脖子开始吧。
先说说下面两个文件的代码,注意看注释
plugin/include/common.inc.php
plugin/include/priv.inc.php
/*
* plugin/include/common.inc.php
*/
$mod = 'sitemap'; //模块名称,即插件目录名
define('MOD_ROOT', substr(dirname(__FILE__), 0, -8)); //定义模块根目录
require substr(MOD_ROOT, 0, -strlen($mod)).'include/common.inc.php'; //包含phpcms相关文件
/*
* plugin/include/priv.inc.php
* 设置当前插件有哪些权限
* 'file'=>'' 为空指的是plugin/admin下所有的文件
* 'file'=>'build' build对应plugin/admin/build.inc.php文件
* 'file'=>'setting' setting对应plugin/admin/setting.inc.php文件
* 'action'=>'manage' 指定允许接收的地址栏参数,多个参数用逗号隔开
*/
return array(
'all'=>array('name'=>'模块管理', 'file'=>'', 'action'=>''),
'build'=>array('name'=>'生成站点地图', 'file'=>'build', 'action'=>'manage'),
'setting'=>array('name'=>'模块配置', 'file'=>'setting', 'action'=>''),
);
你要是仔细观察,会发现还有个plugin/admin/priv.inc.php文件没设置权限,由于这个文件比较特殊,所以无需设置权限,系统会自动进行相关处理。如果你开发的插件不需要设置权限,你只要把plugin/include及plugin/admin这两个文件夹下的priv.inc.php文件删除即可。plugin/admin文件夹里的是插件后台相关文件,可以说是插件的核心部分。其下文件的命名方式是:xxx.inc.php,不过其中的priv.inc.php是插件“权限设置”页面,此文件名不能更改,若插件不考虑权限的话可直接删除,而admin.inc.php文件是必须有的,它是插件连接后台的桥梁。
plugin/admin/templates下是插件后台模板文件,模板文件的命名方式是:xxx.tpl.php,不过如果所开发的插件涉及到前台标签,还需要几个特殊的模板文件,如下:
/*
* 经研究,这几个插件标签模板文件貌似是固定的
* 这里的 plugin 是指插件目录名
*/
tag_plugin_add.tpl.php
tag_plugin_ajax_edit.tpl.php
tag_plugin_copy.tpl.php
tag_plugin_edit.tpl.php
tag_plugin_manage.tpl.php
讲到这里,PHPCMS插件开发也算是入门了,不过记住修行还在个人,其路依然漫漫。与君共勉!
本文标签:
很赞哦! ()
图文教程
phpcms后台信息修改文件路径
1、后台登陆前提示信息取消及成功后提示信息取消。(1)后台登陆前提示信息取消(2)后台登陆成功后提示信息取消phpcms\modules\admin\index.php
phpcms修改底部powered的方法
phpcms修改底部powered的方法:首先找到并打开“footer.html”文件;然后找到“Powered by”所在的代码位置;接着将代码中对应的文字内容进行修改;最后保存修改即可。
phpcms网站搬家到服务器的步骤方法
想要自己的网站让人们看到那就要上传服务器空间后,这样才会通过搜索域名进行网页访问。但是在上传的过程中肯定会有很多东西要修改,例如数据库怎么上传、路径怎么修改等。这些对于生手可能会慌乱,不用害怕!
PHPCMSv9.6.1任意文件读取漏洞分析
PHPCMS使用教程介绍PHPCMSv9.6.1任意文件读取漏洞的挖掘看到网上说出了这么一个漏洞,所以抽空分析了下,得出本篇分析。1.准备工作&漏洞关键点快速扫描
相关源码
-
(自适应)文案文档作文写作word资源网站模板下载本模板基于PbootCMS系统深度开发,针对电影解说、文案分享类网站的特殊需求设计。采用响应式布局技术,确保在手机端和桌面端都能呈现专业的内容展示效果,帮助运营者高效管理影视解说资源。查看源码 -
(自适应响应式)动力刀座五金机械设备pbootcms网站源码下载为动力刀座及五金机械企业定制的响应式网站框架,基于PbootCMS系统深度开发,助力传统制造企业实现数字化转型升级。采用手工编写的DIV+CSS前端架构,代码执行效率提升40%。查看源码 -
帝国cms7.5模板情感文学名言名句心情文章类源码下载带手机本模板基于帝国CMS7.5开发,为情感文学类网站设计。整体风格温馨雅致,布局合理清晰,特别适合建设情书分享、文学作品展示类网站。模板采用响应式设计,能够自动适配各种终端设备。查看源码 -
pbootcms模板(PC+WAP)火锅加盟餐饮美食类带留言源码基于PbootCMS内核深度开发,为火锅、餐饮品牌打造的营销型解决方案。采用红色主题传递行业活力,实现PC与WAP端适配。查看源码 -
自适应恒温恒湿机空调机械设备营销型网站模板(自适应手机版)响应式营销型恒温恒湿机环境设备类网站pbootcms模板 蓝色营销型空调设备网站源码下载PbootCMS内核开发的网站模板,该模板适用于营查看源码 -
(自适应响应式)瓷砖大理石装修建材类网站pbootcms模板html5模板本模板基于PbootCMS开发,针对瓷砖、大理石等建材行业特点进行优化设计。采用响应式布局技术,确保产品展示效果在不同设备上都能合理呈现。模板特别强化了石材纹理的视觉表现力,帮助建材企业更好地展示产品质感。查看源码
| 分享笔记 (共有 篇笔记) |
