




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ThinkOX二次开发手册 想天软件工作室ThinkOX开发手册想天软件工作室版本号修订人修订时间备注0.01蔡培超、陈一枭2014.4.4初稿0.02陈一枭2014.4.23补充AdminBuilder搜索部分,JS常用函数部分,重新排版0.03陈一枭2014.4.26补充点赞插件0.04陈一枭2014.5.4补充模态窗口0.05陈一枭2014.6.18补充后台权限0.06陈一枭2014.6.18加入目录结构说明,排版0.07陈一枭2014.7.1加入控制器的SEO优化说明目录目录3一、 文件结构4二、 常用函数5(一) PHP函数5(二) JS函数6三、 后台管理页面6(一) 后台权限约定6(二) 配置页面6(三) 列表页面8(四) 排序页面9四、 积分提示10五、 点赞插件的使用10六、 模态窗口的使用101、 文件结构+Addons 插件目录+Application 模块目录+Admin 后台模块+Api Api模块,放置一些可用于手机应用开发的接口+Common 公共模块,放置一些通用的模型,视图模板+Forum 贴吧模块+Home 主模块,主要包含了登陆和注册的页面+Install 程序安装模块+Issue 专辑模块+People 会员模块+User 用户中心,只存放用户中心的接口,没有模板+Usercenter 新增的个人中心,资料修改等的操作均放于此+Weibo 微博模块+Data 数据库备份文件存放处+Database 存放临时的sql升级。+Public 静态文件存放处,一般存放js和css+static 公共静态文件+oneplus 存放thinkox的css和js+css 样式-oneplus.less 样式的less模板-oneplus.css 通过less编译生成的样式+js js文件+ext 第三方js插件+atwho 插件+magnific 弹窗插件+placeholder input组件占位符IE8兼容插件+slimscroll 滚动条插件+toastr 提示插件+images 公共用到的图片+QuickPacks v0.5版新增的补丁存放位置+Runtime 动态缓存存放文件夹+Thinkphp TP内核+Uploads 上传文件夹+Avatar 头像存放文件夹2、 常用函数(1) PHP函数is_login()返回当前登录的用户编号。如果没有登录,则返回0。op_t($text)过滤html代码,防止XSS。参数:$text 字符串。返回值:经过过滤的字符串。getPagination($totalCount, $countPerPage=10)获取翻页html代码。参数:$totalCount:数据总数。$countPerPage:每页显示的数据数量。返回值:翻页的html代码。用法举例:class TestController extends Controller public function test($page=1)$list = D(MyData)-page($page,10)-select();$totalCount = D(MyData)-count();$this-assign(totalCount, $totalCount);$this-display();test.html.:getPagination($totalCount,10)query_user($fields,$uid=0)获取用户的详细信息。参数:$fields,字符串数组,表示需要获取的字段。目前支持:uid username mobile email signature avatar32 avatar64 avatar128 avatar 256 avatar512 space_url icons_html title。$uid,可选,表示用户编号。默认值是当前登录的用户编号。举例:$user = query_user(array(username,avatar32);返回array(username=test, avatar32=/Uploads/Avatar/2014/03/31/5ab5d615a6_32_auto.jpg);getThumbImage ($filename, $width, $height, $cut, $replace)获取本地图片的缩略图。参数:$filename 图片的本地路径。$width 需要的图片宽度$height 需要的图片高度,可不填写,表示等比缩放。$cut true表示裁剪图片,false表示拉伸图片。$replace true表示重新缩放图片,false表示使用已经缩放的图片。friendlyDate($sTime)获取友好时间。参数:$sTime时间戳。(2) JS函数function op_success(text, title)/成功提示function op_info(text, title) /信息提示function op_warning(text, title) /警告提示function friendlyDate(sTime, cTime)/友好时间function U(url, params, rewrite)/JS版U函数3、 后台管理页面(1) 后台权限约定凡是涉及到表单的action url,尽可能提交到本页面,通过IS_POST判断是否为表单提交。如不这么做,必须在菜单配置里加入该url的菜单,并设为隐藏,否则权限无法赋予。为了便于对后台进行二次开发,我们创造了AdminBuilder系列的辅助函数来快速创建后台管理页面。其中包括了配置页面(AdminConfigBuilder),列表页面(AdminListBuilder),以及排序页面(AdminSortBuilder),以后还会继续增加新的辅助页面,并完善各页面的功能。参考页面WeiboController,ForumController。(2) 配置页面AdminConfigBuilder生成配置页。方法:title() 配置页的标题填入字段:keyHidden() 隐藏字段keyReadOnly() 只读字段keyText() 单行文本keyTextArea() 多行文本keyInteger() 整数字段keyUid() UID字段keyStatus() status字段keySelect() 下拉框字段keyRadio() 单选字段keyCheckBox() 多选字段。逗号分隔。keyEditor() 编辑器字段keyTime() 时间字段keyCreateTime() 创建时间字段keyBool() 是否字段keyUpdateTime() 更新时间字段keyTitle() 标题字段keyId() ID字段keyMultiUserGroup() 多个用户组字段keySingleUserGroup() 单个用户组字段填入数据:data($list)添加按钮buttonSubmit() 提交按钮buttonBack() 返回按钮用法示例:class TestController extends AdminController public function config($id)$data = D(MyData)-where(array(id=$id)-find();$builder = new AdminConfigBuilder();$builder-title(测试配置);$builder-keyId()-keyTitle()-keyCreateTime()-keyText(test_field,测试字段);$builder-data($data);$builder-buttonSubmit(U(myPostUrl)-buttonBack();$builder-display();(3) 列表页面AdminListBuilder生成列表页。基本配置title() 页面标题setStatusUrl() 设置状态的地址buttonNew() “新增”按钮buttonDisable() “禁用”按钮buttonEnable() “启用”按钮buttonDelete() “删除”按钮buttonRestore() “还原”按钮buttonSort() “排序”按钮增加字段keyText() 文本字段keyHtml() Html字段keyMap() 映射字段。将字段的值映射到另一个值。keyId() ID字段keyLink() 带链接的字段keyStatus() status字段keyYesNo() 是否字段keyBool() 是否字段,同keyYesNokeyTime() 时间字段keyCreateTime() 创建时间字段keyUpdateTime() 更新时间字段keyUid() 用户编号字段keyTitle() 标题字段keyDoAction() 添加操作字段keyDoActionEdit() 操作字段中添加编辑链接keyDoActionRestore() 操作字段中增加还原链接keyTruncText($name,$title,$length) 截断的字段。最多显示$length长度的字段。加入翻页组件pagination($totalCount,$listRow) 加入查询组件 /陈一枭public function search($title = 搜索,$name=key, $type = text, $des = , $attr) 加入一个文本类型搜索框设置搜索表单提交的URL /陈一枭setSearchPostUrl($url),默认情况下提交到当前页面,所以无需设置传入数据data()用法演示:class TestController extends Controller public function listTest($page=1,$r=20)$list = D(MyTest)-page($page,$r)-select();$totalCount = D(MyTest)-count();$builder = new AdminListBuilder();$builder-title(测试列表);$builder-buttonNew(U(editTest);$builder-setStatusUrl(U(setTestStatus)-buttonEnable()-buttonDisable()-buttonDelete()-buttonSort(U(Forum/sortForum);$builder-keyId()-keyCreateTime()-keyStatus()-keyDoActionEdit()$builder-data($list);$builder-pagination($totalCount,$r);$builder-display();(4) 排序页面AdminSortBuilder用于生成排序页面用法:class TestController extends Controller public function sortTest()$list = D(MyTest)-order(sort asc)-select();$builder = new AdminSortBuilder();$builder-title(测试排序);$builder-data($list);$builder-buttonSubmit(U(doSortTest);$builder-buttonBack();$builder-display();public function doSort($ids)$builder = new AdminSortBuilder();$builder-doSort(MyTest, $ids);4、 积分提示1. 后台添加一个用户行为2. 在代码中调用该行为 示例:$score_before = getMyScore();$result = $model-addWeibo(is_login(), $content);$score_after =getMyScore();$this-success(发表微博成功。 . getScoreTip($score_before,$score_after);扩展了一个getMyScore()函数来获取积分。扩展了一个getScoreTip($before,$after)来获得积分差的中文表示。5、 点赞插件的使用:Hook(support,array(table=weibo,row=$weiboid,app=Weibo,uid=$weibouid,jump=no)需要注意的是,app一般填写调用的应用名table一般填写有需要赞的对象所在的表row一般填写所赞对象的idjump一般填写no,则表示点击消息跳转的链接为来源链接,如果不填写此变量,则默认会跳转到一个约定的URL,URL生成规则如下U($appname . /Index/ . $table . Detail, array(id = $row)如app=Weibo table=weibo row=1则生成 U(Weibo/Index/weiboDetail,array(id=1);6、 模态窗口的使用ThinkOX采用magnific弹窗插件。可以应用于各类场合,支持功能比较丰富。官方文档:/plugins/magnific-popup/documentation.html比较常用的示例这边就只展示一个常用的内部形式的弹窗,ajax、相册等形式需自行查阅官方文档。功能强大,能满足一般使用。引入对应的函数库和资源(默认为了节省开销,并不会引入该资源)加入页面样式 .white-popup position: relative; background: #FFF; padding: 20px; width: auto; max-wi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阅读兴趣小组数字阅读促进计划
- 二年级心理健康教育课程设计计划
- 2025年度家庭保姆全方位服务雇佣合同协议
- 二零二五年企业员工职业生涯规划服务合同范本
- 2025年度全新商品房买卖及配套设备公证合同
- 2025版化妆品代加工服务协议
- 2025版校园建筑精装修工程施工合同样本
- 二零二五版建筑拆除工程风险评估与咨询服务合同
- 2025版农产品加工设备供货合同参考范本
- 2025版煤炭销售与市场竞争力分析合同模板
- 眼镜配制计量管理制度
- 食品加工厂设备管理制度
- T/CCS 055-2023燃煤电厂碳捕集-驱替采油工程项目全流程成本核算指南
- 提高计算机一级考试通过率的方法试题及答案
- 冷链医疗器械管理培训
- 大规模网络中的异常行为识别与容错控制-洞察阐释
- 集中安置建房协议合同书
- 拉萨护理考试试题及答案
- 白酒设备采购合同协议
- 培训学校出兑合同协议
- 2025智联招聘行测题库及答案解析
评论
0/150
提交评论