1. 首页
  2. 站长学院
  3. 综合教程

狂雨小说:插件开发相关

关于插件开发的备忘录,大概算个文档?

文中版本:1.1.41.1.3

文中所有\kyxscms文件位置为您的站点根目录。

文件位置:\kyxscms\addons\

必须引入:

PHP
use app\common\addons\Addon;

必须拥有函数:

PHP
    public function install(){
        return true;
    }

    public function uninstall(){
        return true;
    }

插件信息:

PHP
    public $info = [
        'name'=>'插件名',
        'title'=>'插件中文名',
        'description'=>'插件描述',
        'status'=>1,
        'author'=>'作者名',
        'version'=>'1.0.0',
        'group'=>'插件类型',
        'mold'=>'',
        'sort'=>0,
        'exclusive'=>0
    ];

version为版本号;status为插件状态以0、1区分;mold为应用的位置:web,wap,wechat,分别为电脑端手机端微信端(?);exclusive与sort含义未知….


插件类型:

======处理更新信息

插件类型:data_operation

被调用函数:run($params)

参数内容:[‘type’=>$type,’model’=>$model,’data’=>$data]

已确定参数解释:

type动作:add新增;edit编辑

model来源:news为文章;novel为小说信息;chapter为章节信息

date[0]为连接

用途:主动推送更新信息

部分相关调用代码:

\kyxscms\application\common\model\DataOperation.php约第29行

PHP
$addon->run(['type'=>$type,'model'=>$model,'data'=>$data]);

\kyxscms\application\admin\model\NovelChapter.php约第82和83行

PHP
$data_link[]=url('home/news/index',['id'=>$data['id']]);
model('common/DataOperation')->after('edit','news',$data_link);

\kyxscms\application\admin\model\Novel.php约第88行

PHP
model('common/DataOperation')->after('add','novel',$data_link);

======输出内容替换 replace_str

插件类型:home_replace_html

被调用函数:run($params)

参数内容:[‘view’=>$view,’html’=>$html]

返回:新的html

用途:违禁词替换

相关调用代码:

\kyxscms\application\common\model\DataOperation.php约第41行

PHP
$html=$addon->run(['view'=>$view,'html'=>$html]);

======增加页面代码 print_js

插件类型:home_js

被调用函数:run()

参数内容:无

返回:需要增加的html代码

用途:增加代码统计(或者可以在此处增加前端验证qvq)

相关调用代码:

\kyxscms\application\common\model\DataOperation.php约第55行

PHP
$html.=$addon->run();

======存储插件

插件类型:storage

被调用函数: put($path,$content) unlink($path) read($path)
返回: 无返回 无返回 返回$path文件内容

参数:如上,$path为目录,$content为内容

说明:put为保存文件,不论是新建还是编辑都是put;unlink为删除文件;read为读取文件

用途:将小说内容转移到其他地方保存,降低web服务器压力。

注意:插件只转存了小说章节的内容,但是小说的标题,章节标题等依旧保存在数据库中,图片依旧保存在站点目录中。

相关调用代码:

\kyxscms\application\admin\controller\Tool.php约第85行

PHP
$addon->put($value['path'],$content);

\kyxscms\application\admin\model\Novel.php约第128行

PHP
$addon->unlink($path);

\kyxscms\application\common\model\Api.php约第627行

PHP
$addon->read($path);

另附本地插件安装的方法

http://网址/admin/addons/install?addon_name=插件名

原创文章,作者:展翅昊翔,如若转载,请注明出处:http://www.zhanghaoxiang.net/coding/php/2379.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

18586878276

在线咨询:点击这里给我发消息

邮件:1092865610@QQ.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code