onethink入门笔记(一)

本文分享了作者在一周内使用Onethink框架搭建数据管理平台的经历,并重点介绍了如何将MongoDB与Onethink集成,包括数据库配置、模型定义、CRUD操作等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于公司需求所以大概花了一个星期搞了一个一个基于onethink的数据管理平台demo不得不说onethink这个基于thinkphp3.2.3的框架还是很棒的 让我这个没基础过php的人也能在一星期能搞出东西来整理一下所遇到的坑 希望能给看到这篇文章的你有所帮助

首先安装onethink   

1.连接数据库

 由于onethink是基于mysql的如果你需要用mongo的话需要做数据表迁移由于后台权限逻辑本来就不适合mongo来搞 所以这里建议用mysql如果需求需要mongo数据库那么最好用mysql和mongo数据库结合的方式那么坑就来了

由于thinkphp的原因它本身对mongo的扩展没那么好 亲测 如果mongo为主mysql为辅 使用官方介绍的方法切换数据库完全没问题 反过来那就蛋疼了thinkphp官方接锅需要改底层代码 我这里说具体的解决方案尽量不改源代码 首先参考手册介绍的在common 文件夹下的config里的mysql的链接配置后将mongo数据库的信息写入如下图:(注意这里mongo的表前缀写与不写无所谓由于thinkphp问题(bug)导致它只会用全局的即上面mysql的前缀     解决方法见这里

接下来在Model在新建例如BooksModel.class.php内容如下(thinkphp底层会将表名强行转成小写所以这里使用$trueTableName绕过转化否则会找不到表 也可以采用这里的方法改底层文件):

 

 然后你就可以愉快的在BooksController操作使用D("Books")进行数据库的这里的 M方法不能用会报找不到表错误的信息仔细一看还是表前缀出的问题(官方背锅M方法里面的也是用的全局前缀你可以通过修改解决)

2.onethink的分页

你可以参考onthink 的ConfigController里的内容 它实现分页是通过红线标出的这一句继承自AdminController 里的lists你可以查看它使用方法这里有更为详细的介绍可以自己去实例化lists

 

3.onethink给的增删改例子都是在mysql下的这里提供在mongo下的增删改供参考

增:

(1)如果你也是将edit和add用一个页面采用在表单里隐藏_id的方法 注意这里有坑先看一下下面的edit的实现由于create方法创建时会把表单里的隐藏的空的_id(如果你name里不用_id那就会在新增时新创建这个为空的垃圾字段拉过来导致数据新增失败这里采用在Model里写:

 

 或者使用field方法详细介绍见这里

 

后台新增方法:

注意这里如果你想获得插入的id可以通过下面的方法 我是用$id = $book->add()返回是空

 

删:

onethink给的menu和config都有点问题这里给出我的

界面显示效果:

 

批量删除按钮:

需要批量删除的对象name命名和进行单一删除对象命名一个是id[]另一个是id

后台删除方法:

改:

前台:这里貌似一定要使用_id

后台方法:

 

 4.样式修改

onethink 里a 标签实现鼠标放上去显示下划线使用的是border-bottom的方式 使用border:none 进行覆盖 text-decoration:none 是无效的   这个坑 坑了我好久wtf

转载于:https://www.cnblogs.com/fengbingzi/p/5813340.html

OneThink个开源的内容管理框架,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制,融合了模块化、驱动化和插件化的设计理念于体,开启了国内WEB应用傻瓜式开发的新潮流。   [ 功能特性 ] 主要特性: 基于ThinkPHP最新3.2版本。 模块化:全新的架构和模块化的开发机制,便于灵活扩展和二次开发。 文档模型/分类体系:通过和文档模型绑定,以及不同的文档类型,不同分类可以实现差异化的功能,轻松实现诸如资讯、下载、讨论和图片等功能。 开源免费:OneThink遵循Apache2开源协议,免费提供使用。 用户行为:支持自定义用户行为,可以对单个用户或者群体用户的行为进行记录及分享,为您的运营决策提供有效参考数据。 云端部署:通过驱动的方式可以轻松支持平台的部署,让您的网站无缝迁移,内置已经支持SAE和BAE3.0。 云服务支持:即将启动支持云存储、云安全、云过滤和云统计等服务,更多贴心的服务让您的网站更安心。 安全稳健:提供稳健的安全策略,包括备份恢复、容错、防止恶意攻击登录,网页防篡改等多项安全管理功能,保证系统安全,可靠、稳定的运行。 应用仓库:官方应用仓库拥有大量来自第三方插件和应用模块、模板主题,有众多来自开源社区的贡献,让您的网站“One”美无缺。   OneThink只是个内容管理框架,并不是个真正意义的CMS,所以你不会看到很多的功能,也不要因此而抱怨,因为切功能都来自于您的创造或者大家的分享。这才是OneThink的理念和定位。OneThink集成了个完善的后台管理体系和前台模板标签系统,让你轻松管理数据和进行前台网站的标签式开发。   后台主要功能: 用户Passport系统 配置管理系统 权限控制系统 后台建模系统 多级分类系统 用户行为系统 钩子和插件系统 系统日志系统 数据备份和还原 利用OneThink现有的后台功能和标签库机制,你可以轻松的定制或者开发基于OneThink的网站和应用。   [ 系统安装 ] 将OneThink压缩包解压至个空文件夹,并上传它。 首次在浏览器中访问index.php,将会进入安装向导。 按照安装向导完成安装。若在安装过程中出现问题,请访问官网讨论区寻求帮助。
OneThink源码最新官方版,OneThink V1.0.130929 开发版发布,V1.0.130929开发版本在中秋发布的1.0beta版本的基础上,做了些架构的改进和优化,功能部分也有所增加,以及个别用户体验的改进。(详细参考后面的更新日志) 如果没有特别通知,国庆假期后每周五会出新的开发版本,用于修正BUG和优化,以及新功能体验。 在正式版发布之前,BUG反馈和建议请到 http://www.thinkphp.cn/topic/onethink.html 文档工作我们正在紧张整理中,再次感谢大家对OT的关注和支持,你们的努力让OT走的更远! OneThink v1.0.131011,注意事项:1、再次提醒,OneThink安装要求PHP5.3+版本,否则会出错。2、目前开发版不支持升级功能,所以请备份好之前的数据和文件后重新安装。3、因为插件机制调整,如果自己有开发过插件,请注意按照新的插件命名和方法进行调整。 4、目前不支持BAE,SAE的支持会在正式版发布的时候增加。 更新日志: [ 1.0.131011开发版 ] + 新增 导航管理支持层级 + 新增 数据备份 + 新增 "内容"增加"目录文档"导入功能 + 改进 "系统/配置管理"列表支持分页和搜索 + 改进 文档标识只需在同根节点下不重复 + 改进 富文本编辑器可以设置高度 + 修复 “内容” 左侧菜单不显示二级以上分类bug; + 修复 如果后台回收站没有数据时,点击清空,会把所有文章数据都清空 + 修复 草稿不能发布的问题 更新日志: [ 1.0.131025开发版 ] + 独立模型的创建,字段的创建,支持通过已有数据表导入模型 + 独立模型字段排序 + 数据列表的定制,可自由定制显示列 + 新增和编辑表单的自动生成 (目前支持的类型有限,下周继续完善) + 权限管理添加按模型授权支持 [ 1.0.131018开发版 ] + 新增 数据库备份支持压缩功能 + 新增 数据库压缩功能可以配置是否开启,并可以设置压缩级别 + 新增 数据库还原功能 + 新增 插件入口文件$info属性增加url字段,用于配置插件官网url, 没配置则链接到插件上传者onethink官网用户中心(目前连接到onethink官网首页) + 新增 基础文档表新增root字段,便于子文档的搜索及其他操作 + 新增 分类的移动和合并操作 + 新增 后台添加新用户功能 + 新增 后台用户搜索功能 + 新增 Upload上传增加SAE驱动 * 完善 文档的标识只在同根节点下不重复 - 修复 批量导入没有进行自动验证和自动完成 - 修复 文档外链获取链接错误BUG # 变更 编辑器插件markdown编辑变更为 thinkeditor(新版)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值