狂雨小说:插件开发相关

作者 : 张昊翔 本文共2029个字,预计阅读时间需要6分钟 发布时间: 2019-10-9 共220人阅读

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

文中版本: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=插件名

张昊翔博客原创文章,作者:,如若转载,请注明出处:
1、本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2、分享目的仅供大家学习和交流,请不要用于商业用途!
3、本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
4、如有链接无法下载、失效或广告,请联系管理员处理!
5、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

张昊翔博客 » 狂雨小说:插件开发相关

发表评论