交流群:462197261站长百科站长论坛热门标签收藏本站北冥有鱼 互联网前沿资源第一站 助力全行业互联网+
点击这里给我发消息
  • 当前位置:
  • 织梦DEDECMS完美无缝整合UC心得

    使用织梦dedecms打造的UC头像中心预览

     

    对于UC的用户 一定都知道

     

    DZ自从6.1以后 头像系统整个就傻了B了

     

    不能自定义大小

     

    不能的太多了。。织梦dedecms官方一句 没有设置选项就忽悠过去了

     

    用了2天终于突破了。。

     

    ——————————————————————————————————

     

    首先,做下简单说明:

     

    DEDECMS系统,以及DZ的HOME系统如果能够完美结合,那么这两个系统都将把自身发挥到极致

     

    而整合的最大关键就是获取UC的用户uid值 这样在程序和用户数据的调用上都很方便了

     

    在整合中出现了一些2B的问题比较棘手

     

    1,DEDE不能完美的体现UC的用户ID 造成无法正常的通信

    2,UC的头像和DEDE的用户头像无法统一化 一定程度上也是第一点所致

     

    所以这里着重对UC的UID获得做一个解析

     

    因为是按照个人的织梦dedecms建站模式叙述,所以,只谈心得,不谈具体方法

     

    我使用的是UCHOME注册,同步用户到DEDE

    通过数据可以看出,home注册 并且登陆后,DEDE中无任何数据

    当用户首次登陆DEDE后,就会在dede_member下生成一个mid 这个是按照用户登陆DEDE的顺序激活的

    也就是说 例如 home 注册到第10个用户,但是前9位都是只注册,没有经过dede登陆,那么当第10位登陆dede

    就产生了uid =10 mid=1的情况,而在dede中没有 直接的途径获得uc的uid

     

    解决方法1:用户在uchome注册后,直接跳转到dede登陆界面 要求其登陆。这个比较简单,但是一旦有人不守规矩,不登陆,那么后面的人就完全错乱了。。

    解决方法2:用户注册后直接post数据到dede 请求激活,未做测试,估计也存在延时,等等问题造成混乱

    解决方法3:也是我目前使用的方法,当用户第一次登陆dede 产生mid的同时(参上上面mid的地方),也会产生一个face 

    重点就在这里了,face里面包含了一个真正的UID!

    查找数据 搜索整个文件夹 找到 =middle 属性,这里就是face的上传数据段

    删除前后,只保留uid

    这样重新登陆,发现数据表中 face 已经完全等于uc的uid了,而可能不等于mid

     

    所以在系统中涉及到uc uid的地方可以使用 $cfg_ml->fields['face'] 进行调用

     

    $cfg_ml->fields['M_id'] 系统原有,表示用户在DEDE的激活顺序/id

    $cfg_ml->fields['face'] 修改后添加,表示整合后,在DEDE中调用UC的UID 

    两者可以并存,切存在不相等的可能性 而且极大,所以根据情况使用即可

     

     

    解决了UID问题

    这样就可以带来很多好处

     

    例如:

    评论时显示用户头像。点击头像进入UCH的空间

    等等 这里好处肯定是很多

     

    接下来进阶处理

    UC看似开源 但是在用户头像这里却是一个死胡同

    既然我们获得了UC的UID

    那么我们就可以进一步突破UC

    来让两者更好的融合

     

    从头像开始,把所有头像保存到DEDE目录下,使用QJ裁剪,按照UID排列

    这样就把DEDE变成了用户的头像中心

    而且可以自定义大小和样式

    说明 在下是DEDE和DZ的老用户 所以很多棘手的问题都拿来谈谈

    可能DZ的问题 DEDE的用户不是很关系 我不过是谈谈而已

     

    接下来,在事件推送中

    把评论系统加以改造

     

    默认评论 中评/或者其他

     

    默认POST数据 顶一下

    隐藏输入框 只留一个 发布按钮 命名为 踩一脚

     

    呵呵,这样 

     

    推送时 在HOME里显示

     

    XXX对文章XXX踩了一脚

    这样完美的把HOME的踩日志 和 DEDE的评论文章伪装融合

     

    那正常的评论,让用户点击进入评论独立页

    进行评论,而推送时 根据 中评 好评等3个类别进行分类推送

     

    例如我定义的是差评 默认踩一脚

     

    其他的为 评论推送

     

     

    暂时先这么多吧

     

    总之,完美的融合

    以达到无缝使用

    才是DEDECMS和UC两大主流系统的宿命啊

     


    广而告之:
    热门推荐:
    WordPress 链接跳转插件

    这款插件名称叫Pretty Link Lite,插件主页:http://wordpress.org/extend/plugins/pretty-link/,也可以在WordPress后台搜索安装。 Pretty Link Lite插件菜单: Pretty Link Lite添加链接: WordPress 链接跳转类的插件还有像Redirection、GoCodes、WP No External Links这···

    PHP随机生成唯一HASH值自定义函数

    网上有很多种方法获取随机唯一的HASH值,但是大同小异: 1、先获取随机的唯一字符串 2、进行MD5或者sha1算HASH值 一个项目要用到hash值,就去网上找了找,却发现PHP有一个函数能直接生成唯一字符串——uniqid(),通过使用这个函数,再加上自己生成的随机数(防止被破解),更具有···

    asp.net 枚举文件里面的数字绑定到DropDownList里面去

    复制代码 代码如下:public class AppEnum { public enum PointLogType : int { /// <summary> /// Email确认 /// </summary> [Description("Email确认")] Recruit = 1, //新客户激活+ /// <summary> /// 老客户回馈 /// </summary> [Description···

    如何设置iframe高度自适应在跨域情况下的可用方法

    在页面上使用iframe来动态加载页面内容是网页开发中比较常见的方法。在父页面中给定一个不带滚动条的iframe,然后对属性src指定一个可加载的页面,这样当父页面被访问的时候,子页面可以被自动加载。iframe的高度需要根据子页面的实际高度来进行调整。如果iframe的高度小···

    读jQuery之十二 删除事件核心方法

    .remove 所作的事情与上一篇提到的.add 刚好相反。且与.add中的处理代码一一对应,即  .add 中有多少种添加事件的方式.remove就有对应的删除方式。 .remove 定义了四个参数 elem, types, handler, pos 。从字面上看四个参数的意义很明了 elem 为HTMLElement types ···

    javascript异步处理与Jquery deferred对象用法总结

    本文实例讲述了javascript异步处理与Jquery deferred对象用法。分享给大家供大家参考,具体如下: 这是项目组老大整理的一些关于jquery 异步处理请求,以及使用 jquery deferred 对象的一些常见方法。虽然是项目上总结出来的。但也比较通用,分享在这里。 所有的Ajax操作都采···

    mysql 循环批量插入的实例代码详解

    背景 前几天在MySql上做分页时,看到有博文说使用 limit 0,10 方式分页会有丢数据问题,有人又说不会,于是想自己测试一下。测试时没有数据,便安装了一个MySql,建了张表,在建了个while循环批量插入10W条测试数据的时候,执行时间之长无法忍受,便查资料找批量插入优化方法,···

    Vue隐藏显示、只读实例代码

    1.Vue隐藏显示 <div style="padding-top:5px;" v-bind:class="{hidden: isHidden }"> <label class="inline"> <input id="id-button-borders" checked="" v-model="user.userstate" type="checkbox" class="ace ace-switch ace-switch-5" /> <s···

    asp.net core 实现一个简单的仓储的方法

    一直有自己写个框架的想法,但是一直没有行动起来,最近比较闲,正好可以开工了. 现在已经完成了两部分.1.一个简单仓储,实现使用的是ef 2.IOC部分,这里是把内置的ioc替换成了aotofac,这部分感觉还是有一点缺陷的.下面说 仓储部分 这里主要是接口是实现,目前使用ef实现了仓储的接口···

    在Linux系统中搭建Node.js开发环境的简单步骤讲解

    1. Linux安装node.js ubuntu: sudo apt-get install nodejs npm centos: yum install nodejs npm 更详细的安装参见:https://github.com/joyent/node/wiki/Installation npm为类似PHP中Pear的包管理器 2. 开始使用node.js 用文本编辑器新建hello.js写入以下内容 console.l···