Pluins.class.php - 插件类

命名空间

此文件中必须设置namespace,且为COM开头加你插件的名字。

//例如:你的插件名字为 comsite_myapp
//命名空间就为
namespace COMmyapp;

如何加载

//在自己插件其它文件中需要加载Pluins.class.php文件
load::own_class("Pluins");

//示例:调用其中的方法使用
$plg = new \COMmyapp\Pluins();
//开启插件某个方法
$plg->AddApp("head");
//关闭插件某个方法
$plg->DelApp("head");

SiteStart

此方法运行在,前端页面初始化之前,超级高阶的接口,可以拦截修改各种系统初始化变量,一般请勿使用。

//要调用此方法,后台开启插件保存配置时,使用start开启
$plg->AddApp("start");

SiteHead

前端页面初始化开始后的操作

//传入参数
$site 站点配置数据

//此方法中还可以使用全局变量在页面中插入内容
$_L['ui']['htmlhead'][] = ""; //页面头部插入html
$_L['ui']['htmlfoot'][] = ""; //页面底部插入html
$_L['ui']['js'][] = ""; //插入js文件
$_L['ui']['css'][] = ""; //插入css文件
$_L['ui']['xhr'][] = ""; //插入异步请求

//页面中需要加载jQuery,可以使用
$_L['ui']['js'][]  = "{$_L['url']['app']}open/comsite/include/resource/jquery-lcms.min.js";
//你的JS里就可以用 LCMSJQ 代替 $ 使用jQuery的方法了,这样各种插件不会因为都加载jQuery导致冲突

//要调用此方法,后台开启插件保存配置时,使用head开启
$plg->AddApp("head");

SiteShow

内容详情输出前操作,此方法一般用在修改详情页内容

//传入参数
$site 站点配置数据
$module 当前内容栏目模块
$show 当前页面内容数组

//返回参数
//return 修改后的$show

//要调用此方法,后台开启插件保存配置时,使用show开启
$plg->AddApp("show");

SiteFoot

页面输出前操作,此方法会返回页面输出前的所有html代码

//传入参数
$site 站点配置数据
$body 页面原始html数据

//返回参数
//return 修改后的$body

//要调用此方法,后台开启插件保存配置时,使用foot开启
$plg->AddApp("foot");

beforeContent

添加/修改内容前的操作,后台手动添加/修改、采集接口添加都会调用

//传入参数
$site 站点配置数据
$params = [
    "origin", //通知来源 edit:后台编辑,collect:采集内容
    "module", //栏目模块 news、product 等等
    "type", //操作类型 add:添加内容,update:更新内容
    "data" //数据
];

//返回数据
//return 修改后的data数据

//要调用此方法,后台开启插件保存配置时,使用beforecontent开启
$plg->AddApp("beforecontent");

addContent

添加内容后操作,后台手动添加、采集添加内容后都会调用

//传入参数
$site 站点配置数据
$params = [
    "origin", //通知来源 edit:后台编辑,collect:采集内容
    "module", //栏目模块 news、product 等等
    "id", //添加内容的ID
    "addtime" //添加内容的时间
];

//要调用此方法,后台开启插件保存配置时,使用content开启
$plg->AddApp("content");

updateContent

更新内容后操作,使用content开启后,会同时开启此方法,参数同addContent

deleteContent

删除内容后操作,使用content开启后,会同时开启此方法,参数同addContent

//此操作是删除操作,所以$params参数中没有addtime

adminJs

此方法可在后端插入JS文件,商店里的众多插件,就是使用此方法在编辑页面右下角插入了按钮

//传入参数
$site 站点配置数据
$type 插入JS的位置
$module 当$type为edit时传入当前的模块

//返回参数
//return 一个JS链接

//要调用此方法,后台开启插件保存配置时,使用adminjs开启
$plg->AddApp("adminjs");

AddApp

//后台开启插件时使用此方法
$plg->AddApp("要开启的方法");

DelApp

//后台关闭插件时使用此方法
$plg->DelApp("要关闭的方法");
//关闭所有方法
$plg->DelApp();
大纲