ThinkSNS-应用结构说明

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页


分享

分享应用结构的最大特色是: 需求决定模板,模板决定变量。分享的模板可以根据自己的需求直接在后台修改(包括分享的动态模板,分享应用里的列表模板),而模板里需要什么变量就直接在数据包以数组的方式增加就可以了。数据包里所有的变量以及相应的值与模板的变量是对应的(除了{WR}以及分享的基本变量),以下让我们看看分享的数据是怎么结合的。为了方便扩展分享的类型和提高程序的灵活性,分享应用保存到数据库里的信息分为两部分,一部分是分享的基本信息.

主要有

信息 字段名 备注
分享类型ID typeId  
分享人ID toUid  
分享人名字 toUserName  
站内分享目标的ID aimId 如日志的ID
站外分享的网址 url  
分享标题 title 由程序自动获取
描述 info  
增加时间 cTime 增加时系统自动赋值
浏览数 viewNum  
评论数 comNum  
是否已删除 isDel 回收站功能,值为1 代

表已删除,但可在后台
恢复

权限 purview 备用
推荐人ID fromUid 备用
推荐人姓名 fromUserName 备用

另一部分就是分享的核心数据: 数据包, 字段名为data (text), 采用数组保存相关数据,然后序列化后保存入库。数组保存的变量由相应的类型根据模板需要来决定并赋上相应的值,比如日志类型的模板(如下图)需要显示日志标题(title),发表日志人的ID(uid)和姓名(name)。列表里还需要一些简介(intro),日志内容(content)。

Thinksns002.jpg

:{WR}是当前网址,系统会自动转译。所以组装日志的数据包如下图:

Thinksns003.jpg


在分享应用里生成列表时,根据分享的类型ID(typeId)从缓存里提出相应的模板,然后把数据包反序列化得到一个数组,再循环数组并用str_replace 方法转译模 板。最终效果如下:

Thinksns004.jpg

分享信息的来源结构如下:

Thinksns005.jpg


参考资料[ ]