插件开发教程之编辑器引用按钮调用插件数据 附送一个单聊的示例
1074
17

可能很多人安装了卡券插件的人都注意到了一个小细节,这个细节小的可怜毫不起眼十分容易被忽略掉,那就是全站发布内容的时候点引用按钮里面有卡券的调用,插件的数据放到引用中和模块是大不一样的,模块中基本就是你做了模块99.9%的情况下就会自动调用到这里,插件的不行那么下面我给大家分享一个实例怎么进行插件数据引用化调用。

下面的插件目录 泛指实例中的 plugins\coupon,  model和index目录下面的 Quote.php 不允许改名必须是这个名字, 最后记得 coupon 目录指的是你自己的插件目录名

最后再强调一次  model和index目录下面的 Quote.php 只能是这个名字 否则无法调用数据

第一步需要在我们的插件目录下面建立 model 目录 在model目录下面建立 Quote.php 这个model将是我们数据的调用的标志,plugins\coupon\model\Quote.php 存在这个文件才会调用显示按钮所以不能改名,至于这个文件中的内容 可以为空的 也可以写内容,下面是示例中的内容

<?php
namespace plugins\coupon\model;
use think\Model;
class Quote extends Model{
	protected $name='kaquan'; //数据库名 不需要写前缀 对应数据库名是 qb_kaquan
	public static function getAll($map=[],$order="id desc",$rows=0,$pages=[]){
		$array=self::where($map)->order($order)->paginate(empty($rows)?null:$rows,
			empty($pages[0])?false:$pages[0],empty($pages[1])?['query'=>input('get.')]:$pages[1]);
		return $array;
	}
}

第二步:在我们的插件目录下 建立一个 index 目录 里面新建一个 Quote.php 这个是数据调用的关键文件  plugins\coupon\index\Quote.php 这个文件就是数据列表的显示了,所以也不能改,他的作用就是把我们点击了按钮后的数据显示出来供我们调用。这个文件的格式也是有要求的。

<?php
namespace plugins\coupon\index;
use plugins\coupon\model\Quote AS Model;
use app\common\controller\IndexBase;
class Quote extends IndexBase{
	protected $model;
	protected function _initialize(){
		parent::_initialize();
		$this->model=new Model();
	}
	/**
	 * 数据调用的方法名必须是 listbyuid 他仅有三个参数
	 * @param int $uid  登录会员的uid
	 * @param int $rows 每页显示的数量
	 * @param string $keyword 搜索的关键词
	 * @return  最后输出json 格式的
	 */
	public function listbyuid($uid=0,$rows=10,$keyword=''){
		if(empty($uid)){
			$uid=$this->user['uid'];
		}
		if(empty($uid)){
			return $this->err_js('UID不存在');
		}
		$map=[
			'uid'=>$uid,
		];
		if($keyword!=''){
			$map['title']=['like','%'.$keyword.'%'];
			$data=$this->model->getAll($map,"id desc",$rows,$pages=[],$format=false);
		}else{
			$data=$this->model->getAll($map,"id desc",$rows,$pages=[],$format=false);
		}
		$array=getArray($data);
		foreach($array['data'] AS $key=>$rs){
			$rs['content']=get_word(del_html($rs['content']),100); //内容字段 没有内容就为空
			$rs['picurl']=tempdir($rs['picurl']); //略缩图
			$rs['url']=purl('coupon/index/show',['id'=>$rs['id']],'index');//点击后的网址
			$array['data'][$key]=$rs;
		}
		return $this->ok_js($array);
	}
}
数据调用的方法名必须是 listbyuid

输出的就几个标签 id,title,content,picurl,url  看完了示例是不是感觉很容易,开启你的数据调用之路吧。

此方法也适合一些其他模块的整合调用,比如你可以做一个插件调用默认调用不能调用出的模块数据,插件接口的调用可以说是万能接口要比模块调用灵活很多,因为他可以调用指定表的数据。

最后再强调一次  model和index目录下面的 Quote.php 只能是这个名字 否则无法调用数据

严重警告一点:如果调用会员表必须用field限制调用的字段 不然全部字段都出来了 包含了加密后的密码


附录一个 调用单聊的调用示例,匆忙之作也许有不足 自己耍着玩吧,下载解压放到plugins目录后台安装本地插件即可,没有后台设置,引用中可以插入单聊按钮点击就跳转到聊天框。跳到的是手机版聊天框 电脑版可能不大好看

69_202001070920118d7d7.rar

8
赏礼
赏钱
收藏
点击回复
      全部留言
  • 17
0 赏钱 赏礼回复
  • wr1688 风格开发者 消费:2593.25元 2020-01-07 08:45 08:45
    华为
    6楼
    我懂了,快拿板砖劈我
    aria 消费:2460.49元 其他手机 2020-01-07 11:28
    还有这爱好
    中国羊病网 消费:98.9元 2020-01-08 09:15
    自虐狂
0 赏钱 赏礼回复
  • 万荀网 实战运营者 消费:6824元 2020-01-08 08:35 08:356楼
    我看了好多遍了,虽然看了没懂,还是丢一句话吧,这么低调的大神,不踩他一脚他不舒服。
0 赏钱 赏礼回复
  • 码农 程序开发者 消费:0元 2020-01-07 10:35 10:356楼
    很详细的教程.必须点赞
0 赏钱 赏礼回复
  • 午夜梦寒 实战运营者 消费:1817.13元 2020-01-07 10:03 10:036楼
    既然是按钮插件,那上面的那排按钮最好象网站导航菜单一样,做成可以自定义的,喜欢把哪个栏目或者频道设置成按钮,可以后台自己定义选择。这样会更方便。

    就象今天看了冰蓝世界的音乐盒一样,喜欢音乐和视频的圈主,也可以把音乐栏目和视频栏目做成独立按钮,这样要随时插入音乐和视频,就变得非常方便了。
    Suifeng 消费:23.24元 2020-01-07 10:17
    这个应该不可以
0 赏钱 赏礼回复
  • wr1688 风格开发者 消费:2593.25元 2020-01-07 09:01 09:01
    华为
    6楼
    我吃根面压压惊
    Suifeng 消费:23.24元 2020-01-07 09:38
    压死你
0 赏钱 赏礼回复
  • 午夜梦寒 实战运营者 消费:1817.13元 2020-01-07 08:49 08:496楼
    那是不是意味着拼团、秒杀和优惠券,也很快就能支持引用了?目前只能引用分销商城里的商品,另外三个不显示。
    Suifeng 消费:23.24元 2020-01-07 08:50
    回答正确,我一直以为没升级呢 今天早上发现升级了
    午夜梦寒 消费:1817.13元 2020-01-07 08:51
    @Suifeng 这是个非常振奋人心的好消息,拍板砖已经无法抑制激动的心情,还是拍板凳吧。
    Suifeng 消费:23.24元 2020-01-07 08:51
    他是万能的 任意表内容都可以做到引用中,只要拼接好三个参数就可以
    午夜梦寒 消费:1817.13元 2020-01-07 08:53
    @Suifeng 万能的不是引用功能,而是你,没有万能的你,这些功能就永远出不来了,大侠就是大侠
    Suifeng 消费:23.24元 2020-01-07 08:56
    @毛乘风13205905096 还是老大厉害啊,当初做植入功能 只能想到用框架,哪能想到这么牛逼的功能,当初做个植入还沾沾自喜 哎 想想惭愧啊
    午夜梦寒 消费:1817.13元 2020-01-07 08:57
    @Suifeng 你和龙老大双剑合壁,齐博基本无敌了。
0 赏钱 赏礼回复
更多回复
恢复多功能编辑器
  • 3 1
  • Suifeng开发交流圈
        圈内贴子4089
    • 圈子成员430
    本圈子内的新贴

    推荐内容
    扫一扫访问手机版
    请选择要切换的马甲:

     
    网页即时交流
    QQ咨询
    咨询热线
    020-28998648