所有插件的入口文件都为根目录下的“plugin.php”,由连接参数指向具体的插件,“plugin.php?mod=shijiu&act=index”,mod指的是插件标识码,act指向插件的act文件

插件页面会自动获取插件的后台的基本设置,赋值给“$plugin_config”,开发者打印查看。

在plugin.php文件中定义了“PLUGIN_TPLPATH”和“PLUGIN_TPLURL”两个常量,分别是模板的绝对路径和相对于根目录的路径,开发者可直接使用

在根目录/plugin下新建一个文件夹,名字为“shijiu”

shjiu文件集包含以下文件:admin(存放后台设置文件),mod(存放前台显示控制文件),template(存放前台模板文件),comm.php(全局调用文件),rewrite.php(伪静态文件),set.php(应用信息文件),update.php(安装升级文件)

set.php包含改插件的后台目录,数据库结构,前台行为,安装卸载sql,是否需要伪静态,是否需要全局引入文件等基本信息:

注意:'admin_auto' => array (……部分,“index”键,没有特别需求,请设置为1,提交后系统自动生成插件配置文件

return array (

'admin_nav' => array ( //后台目录

'index' => array ('title' => '基本设置'), //键名“index”表示后台插件的do行为,如果应用需要后台设置,必须有index页面

'list' => array ('title' => '商品列表'),

'addedi' => array ('title' => '添加商品'),

'caiji' => array ('title' => '商品采集','arr'=>array('no_header'=>1)), //arr指的是在连接后加任意参数

'url_1' => array ('title' => '查看教程','url' => 'http://bbs.duoduo123.com'), //如果数组中含有“url”,表示这是一个外部链接

'url_2' => array('title'=>'会员列表','mod'=>'user','act'=>'list','arr'=>array('page'=>1)), //如果函数mod和act,表示指向网站后台的的一个模块,arr根据实际情况选择

),

'admin_auto' => array ('index' => 1,'list' => 1,'addedi' => 1,'del' => 1), //后台模块数据是否用框架自动处理

'table' => array ( //数据库结构,键名“shijiu”表示应用安装时自动创建“duoduo_plugin_shijiu”的表,表结构不需要自己写明,只要在本地开发中创建表“duoduo_plugin_shijiu”,把debug模式改为1,可点击后自动生成

'shijiu' => array (

'id' => 'int(11) NOT NULL auto_increment',

'val' => 'text NOT NULL',

'type' => 'tinyint(1) NOT NULL default "0"',

'duoduo_table_index' => 'PRIMARY KEY (`id`),KEY `type` (`type`)',

),

//重复上面的数组可创建多个表

),

'act_arr' => array ( //应用前台模块,没有特别需求tag可重复应用标识码

0 => array (

'act' => 'index',

'title' => '19.9包邮',

'tag' => 'shijiu',

'nav' => 1, //添加nav字段,会自动添加前台导航

),

1 => array (

'act' => 'view',

'title' => '',

'tag' => 'shijiu',

),

),

'search' => array ( //如果不需要前台页面自动添加搜索,“search”为空

'act' => 'index',

'search_name' => '十九块九',

'search_tip' => '搜索十九块九商品',

'search_width' => '70',

),

'install_sql' => 'select * from {%BIAOTOU%}user where id=5;select * from {%BIAOTOU%}user where id=5;', //安装sql语句,假设应用需要对现有的表增加字段,便可在这里执行sql,例子中的select只是随便写的

'uninstall_sql' => 'select * from {%BIAOTOU%}user where id=5;select * from {%BIAOTOU%}user where id=5;', //卸载sql语句,与安装sql对应,添加过什么字段必须在这里有对应的删除

'need_include' => 1, //是否需要全局调用文件,文件目录在plugin/shijiu/comm.php

'debug' => 0, //调试模式,设置为1应用后台出现“生成配置文件(即set.php)”的按钮,生成后debug会自动置0,调试模式下,系统会自动判断后台代码的a和from表示是否有do和plugin_id,只是友好的提示,开发者自己确定没错可不用理会,本地开发时需要设置为1.

'banben'=>'20130911', //应用所试用的多多版本

'version'=>'0.1', //应用自身的版本号

);

?>

下面对set.php内的做具体说明:

admin_nav:表示后台目录,与admin文件夹下的文件对应,在admin_nav下定义数组都会在插件后台显示快捷导航,如果定义了“url”键名,便是一个外部连接。

admin_auto:表示后台模块是否使用多多默认框架。多多插件后台默认4个模块“index(插件基本设置,每个插件必须默认添加此文件),list(数据库数据列表),addedt(数据库数据添加修改),del(数据库数据删除)”,具体代码参照admin/plugin/admin.act.php,如果您不需要框架默认的数据处理,要自行写逻辑,请把admin_auto对应的模块数值设置为0

table:如果您的插件不需要新建表,请将table的数组内容留空。table可以添加多个表,第一个表必须以应用标识码为名,如范例中的“shijiu”,安装应用时系统会自定创建表“表头_plugin_shijiu”,如需多个表可为table增加数组,表名必须是“shijiu_名字”。文件中的表结构无需自己书写,开发者只需要本地建好数据库,后面会讲到如何自动生成。

act_arr:前台行为,安装应用时根据是否有“nav”等于1会自动添加页面管理和导航。

search:模板导航接口,会在前台搜索框自动增加一个搜索项,关键词参数是q,不需要请留空。

install_sql:应用安装sql,用分号分开,“{%BIAOTOU%}”表示表头,无需安装sql请留空。

uninstall_sql:应用卸载sql,用分号分开,“{%BIAOTOU%}”表示表头,无需卸载sql请留空,卸载sql必须与安装sql对应。

need_include:是否需要给全局添加引入文件,对应插件内的comm.php文件。需要是1,不需要是0

rewrite:是否有伪静态文件。需要是1,不需要是0

debug:调试模式,打开这个模式后,在插件后台管理首页,会多一个生成配置文件的按钮,程序会根据你填写的数据库名,自动从你的库中检索出结构,并更新set.php。本地开发时设置为1。

下面对admin文件夹做具体说明:

admin下的文件因为结构相对简单,所以不区分mod和template,控制代码和模板代码写在同一个文件中。

admin下的文件内容中的a,form等标签,连接中必须带有do和plugin_id参数,do表示代码行为,用于指向admin下的文件,plugin_id是该应用的id号。当打开debug模式,框架会自动检查a和form标签是否带有do和plugin_id参数,并提示开发者。(框架只是提醒,如果开发者处理的a和form标签确实不需要do或者plugin_id参数,那么无需理会警告)

index.php:应用基本设置,提交后会自动生成一个数据文件记录在data/json/plugin/应用标识码.php,调用函数“dd_get_cache('plugin/应用标识码')”,

list.php:将“表头_plugin_shijiu”的数据罗列。按照一定的规则筛选数据是列表页的常用需求之一(比如商品表按照分类、标题查询等):

在list.php页面的上部查询form中,框架对两个input有特殊处理,截图事例:

name为“sql_where”的input表示查询字段的规则,每个字段用大括号包含,内部规则用英文分号隔开,共分4节,下面对其中一个进行说明,“title:char:like:full”,第一节表示字段名,第二节表示字段类型(字符类型是char,数字类型是int),第三节表示sql语句中的where比较符,是liek就是like,是等于就是等于,第四节有两个状态,一个是“full”,表示当字段为空值时(字段类型是字符)或者字段为0时(字段类型是数字),此字段不参与where,一个是“empty”,表示当字段为空时,此字段依然参与where

name为“order_by”的input表示sql语句的order by属性。

注意:框架提供的方法只是提供,并不强制,开发者如果感觉使用不惯,可将list.php的admin_auto设置为0,开发者自行写php代码。

addedi.php:将“表头_plugin_shijiu”的数据添加修改

以上三个文件的数据操作是系统内置的,如果需要,请将“admin_auto”的内容分别设置为1,并且在form表单中默认submit的name为sub。

如果不需要框架自动处理数据,将“admin_auto”的内容分别设置为0。

开发者可在admin下添加任意文件,文件开头必须判断文件是否定义过“ADMIN”常量,没有定义停止页面运行。

后台框架是先输出统一的头部代行,再根据do参数引入各个文件,如果引入的文件如果只是数据计算,不需要页面显示,此时就会有点小问题,解决办法是将参数加上&no_header=1(get或者post形式都行),有这个参数后,框架变不会输出统一的头部,直接引入文件。

下面对mod文件夹做具体说明:

mod文件夹下的文件名规范为“*.act.php”,如:index.act.php,list.act.php

mod下的文件用于处理前台数据运算,开发者可自定义多个文件,每个文件开头必须判断是否定义过常量“INDEX”,没有定义停止页面运行

如果应用前台多个页面需要调用相同的函数,可在mod下新建fun.php,将代码写在里面。函数和变量以应用标识码做前缀,防止和默认程序冲突

下面对template文件夹做具体说明:

template文件夹下的文件名规范为“*.tpl.php”,如:index.tpl.php,list.tpl.php

template下的文件用于处理前台模板显示,每个文件开头必须判断是否定义过常量“INDEX”

comm.php:因为应用已经有自己的mod/fun.php,所以此文件主要用在自制模板中需要调用的全局文件。函数和变量以应用标识码做前缀,防止和默认程序冲突

自20130911版本开始,开发者无需定义应用的伪静态规则,应用伪静态统一网址为 /plugin/mod-act-**-**,系统会将**-**放入常量“PLUGIN_QUERY”中,开发者在插件中自行对此串进行解析。具体解析代码在comm/dd.config.php中。

update.php:应用安装升级文件,如果应用安装没有特别的需求,此文件留空即可。如果有特别需求,在此文件内写代码。每一个应用(不管是插件还是模板),必须带有plugin/应用标识码/update.php文件,没有特别需求就留空,但是必须要存在

多多客api_多多系统开放平台相关推荐

  1. 多多客api_多多客小程序如何配置微信开放平台?

    原标题:多多客小程序如何配置微信开放平台? https://open.weixin.qq.com/ open: appid: xxx //微信开放平台AppID appsecret: xxx //微信 ...

  2. 多多客api_多多进宝API功能更新公告

    [多多进宝API功能更新] 一.订单相关API新功能 1.推广链接带自定义参数 1.1生成推广链接API入参增加自定义参数 对应多多客API:pdd.ddk.goods.promotion.url.g ...

  3. 客如云第二届开放平台大会 餐饮零售业新升级再赋能

    3 月 23 日,客如云第二届开放平台大会在北京四季酒店隆重召开. 客如云创始人兼 CEO 彭雷在大会上阐述了大会核心主题"开放.融合.共赢".此外,奥马电器&钱包金服董事 ...

  4. 多多客api_【新功能上线】多多客API“主题活动推广”已上线!

    多多客: 你好,多多客API"主题活动推广"已上线,快来体验吧! 功能利益点: 1.提高推广转化率 根据不同用户推广他们感兴趣的主题活动链接,可大大提高转化率. 运用范例:美食达人 ...

  5. 用户系统-开放平台的一些思考

    2019独角兽企业重金招聘Python工程师标准>>> 1.关于开放平台.这个可以参照QQ.微博联合登录,直接跳到第三方的页面,然后跳回原url,同时将Open_id返回 注意: 1 ...

  6. 多多客api_编写一个API接口,到底有多多多多多多多简单?

    这里所介绍的API接口 这里所介绍的API接口,主要是指通过HTTP协议调用,提供给客户端应用调用,并以JSON格式返回数据的接口. 编写API接口的最佳方式 编写API接口代码,开发一款API接口, ...

  7. 关于淘宝开放平台的战略规划

    关于淘宝开放平台的战略规划 --知识产权保护,若需引用,请注明来源. 需要回答的三大问题: 1)  淘宝开放平台怎么发展? 2)  淘宝开放平台究竟在什么模式下才能突破? 3)  淘宝开放平台博客大赛 ...

  8. 仿京东开放平台框架,开发自己的开放平台(包含需求,服务端代码,SDK代码)...

    目录 1开放平台需求 1.1调用参数 1.2签名算法 2服务端代码,Java举例 2.1接口入口代码 2.2业务逻辑层 2.3基础工具类 3.SDK代码,Java举例 4.集成SDK,代码举例 现在开 ...

  9. 高德天气 php,高德开放平台天气查询API

    更多内容,请查看博客原文:高德开放平台天气查询API https://finolo.gy/2020/01/高德开放平台天气查询API/ 高德开放平台下的天气查询接口文档 https://lbs.ama ...

最新文章

  1. 重构手法之简化函数调用【1】
  2. Python:实现xlsx文件与csv文件之间相互转换
  3. CentOS+postfix+ExtMail+amavisd-new+Spam_Locker+DSpam配置指南:五、配置maildrop
  4. 后端技术:MyBatis 知识点整理,值得收藏!
  5. sql server中的go
  6. 【iVX 初级工程师培训教程 10篇文拿证】04 画布及我和 iVX 合照
  7. Ubuntu 18.04 安装OpenCV C++
  8. Selenium常用API的使用java语言之6-WebDriver常用方法
  9. php 重定向 post,使用php curl getpost方法向页面文件发送重定向指令
  10. spring 配置版本问题
  11. Yate如何打开不同格式的音乐文件?
  12. 再不用担心Sci-Hub不能用了
  13. PHP调整网页,用PHP程序实现支持页面后退的两种方法
  14. 本期推送应该是全网最全的奥特曼表情包合集
  15. 安卓APP应用在各大应用市场上架方法整理
  16. 视频服务器是什么?要如何搭建?
  17. python cpu温度_使用Python(和其他一些不错的技巧)检查CPU的温度
  18. 学习笔记(05):【中国PHP教育大牛高洛峰】亲授php教程-PHP常量的介绍
  19. IMX6ULL-UBoot 20.04移植记录
  20. simple-uploader.js 文档

热门文章

  1. java整合七牛云上传文件
  2. java环境配置步骤_java环境配置及安装的详细步骤
  3. 史上最全桥梁主动防撞预警系统通航净高系统实施方案,花30分钟让您秒变专家
  4. (1)Shell 编程学习 Shell是什么?Shell的浅显原理 为什么要学Shell 及其第一个Shell脚本 CTF角度学习Shell
  5. 关于前端页面优化的方法
  6. 综合设计——基于STC15W4K32S4(第三部分)
  7. 酷狗2015秋季校园招聘技术开发类笔试题
  8. 粉丝推荐的 3 个 GitHub 项目
  9. css3中使用calc()计算宽高
  10. 抖音内部上热门技术 视频md5指的是什么意思