首页
站长论坛BBS
救助
投稿
discuz视频教程
discuz技术支持
版块
登录
快速注册

Discuz中DIY功能的实现原理-DIY原理讨论

建站高手 2015-5-28 [Discuz开发] 来自PC 复制链接
17762
discuz使用视频教程
31idc

马上注册,一起探讨正确快速的建站方法

您需要 登录 才可以下载或查看,没有帐号?快速注册

x
今天遇到一个问题想挖掘下discuz的DIY原理,在网上找了一些思路整理发出来提供大家参考

实现原理是通过标签实现 利用javascrip和php的混编 把页面的标签(<!--diy id=xxx-->)中指定的div 替换为数据库里面的存放内容. 并生出缓存文件. 数据库中记录了页面的ID(实际页面并不存在) 模板名 diy的ID 和一个自己的编号. 而css样式都是通过缓存.后台更新一次css 就会读取数据库里面设置css的内容并进行生成文件 这样就可以有DIV+CSS

看源码
common_diy.js

    扩展了String的方法:property2js
    定义了一个函数styleCss,并为styleCss扩展了一些方法
    定义了json对象Util
    定义了一个匿名函数,包含多个方法,其中Drag、DIY方法比较重要。



portal_diy.js

    定义了一个Drag对象。
    定义了一个DIY对象:var spaceDiy,  并执行了方法spaceDiy.init(1);

欢迎大家补充和分享更完整的教程



上一篇:discuz代码解析(二、控制器与视图解析)
下一篇:云平台QQ互联的Unknown column 'conuintoken' in 'field list'详细解决办法
1547909727 发表于 2015-5-29 09:06:16 来自PC
强烈支持,站帮网有你更精彩
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

快速回复 返回顶部 返回列表