2017年6月1日起,多说(duoshuo.com)社会化评论系统正式停止提供服务。拾肆自从转入Typecho以来一直未启用系统自带的评论系统,而使用了多说的评论系统。

采用多说可以不限于单独一个站点的评论帐号登录,在使用多说评论的站点间,信息无缝融合同步,只要有多说的cookies,所有的多说评论框都可以自动登录,直接就可以填写评论内容,省去了每次填写评论姓名邮箱等信息的繁琐。另一个重要的原因是多说支持众多社交账号直接登录,访客在本站进行评论时,可以任选QQ、微博、微信等方式进行登录及分享,省却了另外注册账号的麻烦,一定程度上增加了访客粘性。

自从4月份收到了多说将要停止服务的通知,就开始计划着重新启用Typecho原生评论系统替换多说,但一直忙于各种琐事无暇去修改。因为拾肆在制作现用模板时就没有考虑使用原生评论,所以重新启用它要考虑融入现有模板。

本来本站使用的多说样式已经被我修改的较为满意了,所以决定还是照着原来的样式写原生评论的CSS。多说六一停运后本站的评论区空白了十几天,日前终于将原生评论启用了,现将修改过程中遇到的一些问题记录一下。

原生评论模板修改

Typecho默认模板中评论部分列评论内容的代码只有一行:

<?php $comments->listComments(); ?>

虽然输出的html已经有比较完善的结构和Class,但还是需要根据自己需要修改一下来适合自己使用,照着typecho的文档http://docs.typecho.org/themes/custom-comments制作好了自己的评论结构,但是运行总是出错,最后查出是把原来的<?php $comments->listComments(); ?>删除了,所以TE文档的意思是在comments.php的顶端 增加<?php  function threadedComments(){}......?>

函数,原list部分代码不变,并不是替换。原生评论包含了很多评论的ID、child-parent关系函数生成样式,所以定制很容易。

评论表情图片

之前使用多说的时候曾从其他站点偷来了“一句话神评论”的js进行小量修改来自己使用,原代码是为多说量身定做的,对于原生评论肯定需要大刀阔斧的修改一下了,对于JS一窍不通的拾肆又抓紧时间恶补了一些JS知识,把“一句话评论”移植到了原生评论中。其实说白了就是用js替换字符为图片,基本功课做足了后确实很简单。

Typecho并没有原生的评论表情功能,因这个需求搜索到了一款现成的插件:羽中漫步的Smilies1.1.2插件。插件制作的很精美,后台配置项也相当完善,本来想要把“神评论”集成到插件中,而且想要把wordpress风格的文字表情比如“:smile:”换成“[微笑]”,读了插件的源码发现比较容易实现。步骤如下:

\usr\plugins\Smilies\Plugin.php修改Line301内的:smile:、:cry:等字段全部替换为[微笑]、[哭泣]等对应的字符,并且Line341中[':smile:']改为['[微笑]'],这个是表情框弹窗的开关按钮。如果并不打算转换到wordpress等其他程序的话,直接按以上步骤修改为汉字即可,这些修改可以提高评论者阅读体验。

如果插件自带的表情数量不满足要求,可以增加其他字符与图片对应替换关系,方法如下:

在Line390行的$arrays = self::parsesmilies();之前插入以下内容,增加替换规则,$addword = array("[表情一]","[表情二]","[表情三]");

$addimg = array('','','');

$content = str_replace($addword,$addimg,$content);

依照上面对应格式增减,注意把图片地址修改正确。

但是,使用后发现一个现象,就是插件启用后评论框允许了标签,从插件代码中也找到了源头,可这个插件就是在后端处理过程中替换文字标签为图片标签然后再输出到前端的,要想正常显示图片必须开启评论框接受图片标签。这就使拾肆有点担心了,因为这样就允许了访客在评论内容贴其他的图片,容易破坏评论结构。所以最终决定还是通过自己编写JS通过前台替换文字为图片实现评论表情功能,正好可以与“神评论”写在一起,代码重复利用。

Gravatar头像

评论头像统一启用了Gravatar头像,所以考虑是否启用头像缓存插件,发现羽中还有一个插件(读者墙头像缓存插件),也是很好用。但有个需要斟酌的考虑就是,启用缓存后如果访客当时未设置G头像时被缓存了,然后当时去设置头像,回到本站头像是不会显示新设置的的。所以暂时不启用头像缓存了,期待有更好的解决方案。

上一条考虑过程中又产生了一个想法,写篇Gravatar头像设置教程,给没接触过的朋友参考。于是就写了,点击每一篇文章评论框前面的头像可以跳转到:Gravatar头像设置教程。

另外修改了几个系统文件,以后升级typecho(如果还要那么一天)可能还要重新改。

\var\Typecho\Common.php

Line949 修改

$url .= '&d=' . $default;为$url .= '&d=retro';

“d”参数代表default,用于Gravatar默认头像类型选择,有以下几个可选值,

留空显示gravatar官方图形

404直接返回404错误状态

mm神秘人(一个灰白头像)

identicon抽象几何图形

monsterid小怪物

wavatar用不同面孔和背景组合生成的头像

retro八位像素复古头像

也可以是一个经过urlencode处理的真实图片地址,用如下代码处理:urlencode('http://example.com/images/avatar.jpg');

默认评论区评论者的名字带其网址链接,但是在当前窗口打开,需要修改以下文件

\var\Widget\Abstract\Comments.php

Line 376的'>'改为' target="_blank">'

这样评论者名字上的网站链接就可以在新窗口打开。

回到开头对多说的评价,多说确实是个不可多得的社会化评论系统,虽难免一些小的BUG,但总体来说还是相当人性化的。自从多说发布停止服务的消息后,网上很多声音倡议多说开源,但毕竟也不是必须的,多说团队的未来还是有他们自己的选择的。拾肆还是发自内心的感谢这个产品及其背后的团队,愿多说一路走好吧!

如果习惯于用云评论系统的朋友,还是有几个其他选择的,国外的Disqus,国内的搜狐畅言、网易云跟帖等,都还是不错的选择,不过经过这次事件,拾肆还是觉得数据保存在自己手里更加放心。

另外,原多说的评论数据是可以通过插件直接导入typecho原生评论系统的,但想来拾肆原来的评论系统也并没有太多有价值的内容,所以就不保留了,从新再开始吧,希望到访拾肆的朋友多多留下宝贵评论!

带评论的php文章系统,启用Typecho原生评论系统替代多说相关推荐

  1. 华为鸿蒙系统使用视频,原生鸿蒙系统,华为WATCH 3上手视频曝光

    华为即将在 6 月 2 日发布华为 WATCH 3,而真机图和上手视频已经出现在网络上.华为 WATCH 3 将出厂预装鸿蒙 HarmonyOS,圆形表盘 + 旋转表冠设计. 爆料图和视频都应该都出自 ...

  2. 鸿蒙系统 华为手表,原生鸿蒙系统,华为WATCH 3上手视频曝光

    华为即将在6月2日发布华为WATCH 3,而真机图和上手视频已经出现在网络上.华为WATCH 3将出厂预装鸿蒙HarmonyOS,圆形表盘+旋转表冠设计. 爆料图和视频都应该都出自华为的线下门店,爆料 ...

  3. 主生产计划 操作教程 用友u8_用友U8:基础设置中的系统启用

    本功能用于已安装系统(或模块)的启用,并记录启用日期和启用人.要使用一个产品必须先启用这个产品. 进入系统启用: 用户创建一个新账套后,自动进入系统启用界面,用户可以一气呵成的完成创建账套和系统启用. ...

  4. 7.博客系统| 评论功能(文章评论,评论的评论)

    根评论:对文章的评论: 子评论:对评论的评论: 区别:是否有父评论. 评论的流程: 1构建样式 2提交根评论 3显示根评论 --------render显示 --------Ajax显示 4提交子评论 ...

  5. 群晖如何建php网站_折腾群晖笔记:使用群晖自带的web功能 五分钟搭建typecho个人博客...

    折腾群晖笔记:使用群晖自带的web功能 五分钟搭建typecho个人博客 2019-07-05 08:30:00 118点赞 735收藏 118评论 你是AMD Yes党?还是intel和NVIDIA ...

  6. 【Microsoft Azure 的1024种玩法】七十一.基于Azure Virtual Machines快速上手搭建Typecho博客系统

    [简介] Typecho 是基于 PHP5 构建的开源跨平台博客系统,Typecho开源跨平台博客系统相较于wordpress .hexo有一定的性能优势,是我们记录文章内容的最佳首选博客,那么本篇文 ...

  7. 成为会带团队的技术人 架构设计:治理好系统复杂度才最务实

    上一讲我们以架构之名聊了一下理解业务这件事儿,这一讲我想进一步来聊一聊日常工作中架构工作的核心关注点是什么? 我是在接触分布式开发之后,才对"架构"有了概念,从三高(高可用.高性能 ...

  8. 错误:由于系统启用了内核调试器,因此不可能进行调试解决方案

    错误:由于系统启用了内核调试器,因此不可能进行调试解决方案 原文地址如下所示: http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1 ...

  9. 计算机系统最大的加速能力,系统加速我用Windows系统四大自带工具 -电脑资料

    对于Windows操作系统的提升,网上介绍的方法有很多种,但是笔者经过试用后发现还是下面的这四种效果相对来说更好一些,系统为什么速度越来越慢,笔者认为最主要的是系统垃圾过多造成的,用户在使用电脑的过程 ...

最新文章

  1. mysql提示符详解_MySQL字符集使用详解
  2. 4项无线技术对比:谁更适合物联网领域?
  3. 编程思想之多线程与多进程——以操作系统的角度述说线程与进程
  4. ORACLE DBA的职责
  5. Linux 线程学习之条件变量
  6. 2019-10-16 13:39:37,494 ERROR [http-nio-8080-exec-10] util.JWTUtils (JWTUtils.java:76) - The Token h
  7. 希望PAT耗子尾汁:1014 福尔摩斯的约会 (20分)——22行代码AC
  8. 小朋友学数据结构(3):二叉树的建立和遍历
  9. 用插件的形式编写升级版 jquery_select_interval.js 源码
  10. 迪士尼确认《花木兰》档期:7月24日北美等多地上映
  11. Java基础学习总结(30)——Java 内存溢出问题总结
  12. Opencv之斑点(Blob)检测--SimpleBlobDetector_create
  13. Dubbo+Zookeeper视频教程
  14. 计算机毕业设计的代码会查重吗,一般毕业论文会查重代码吗?
  15. Spring中静态代理与动态代理的实现及区别
  16. VMware Workstation Pro 16序列号
  17. 2007.12.25 2个意外惊喜
  18. 软考分类精讲-软件管理
  19. 获得代理ippython_Python3.x:免费代理ip的批量获取并入库
  20. CleanMyMac X如何维护脚本 优化mac电脑系统

热门文章

  1. Druid设置连接归还时间
  2. 1.在cocos2d里面如何使用texture-packer和像素格式来优化spritesheet.html
  3. 想辞职转行做程序员,需要学习哪些内容?
  4. 我的Spring学习记录(二)
  5. 【水文模型】02 水文水动力系统应用
  6. 【C++ Opencv】读写灰度图像,RGB图像的某个像素、修改像素值、图像取反(源码+API)
  7. 很多的身不由己,很多的美好时光
  8. echarts 箱线图
  9. C4D自学教程从入门到精通
  10. c语言数组可视化,使用WashU Epigenome Browser可视化hi-c数据