用CSS修正Discuz!的列表显示

标签:CSS, Discuz!

Discuz!的发帖工具栏上有排序的列表未排序的列表这2种,但很奇怪的就是,这2种列表都显示成未排序的。于是我查看了下源码,发现了原因。

防止重复收录:为Discuz!6.1指定URL范式

标签:Discuz!

如果一篇帖可以通过多个地址访问的话,结果就是被搜索引擎当成重复页面,而降低权重。

之前我也写了一些防止重复收录的方法,不过现在不用这么麻烦了。

最近Google、Ask.com、微软Live Search和Yahoo!搜索联合推出了一项新技术,可以指定一个链接作为该页的URL范式。搜索引擎将尽量收录你指定的范式(Google会将多个网页的PageRank整合计算到这个范式。)
你可以在谷歌中文网站管理员博客看到这一技术的详细介绍。

避免Discuz!6.1发帖时自动删除开头空格

标签:Discuz!

有些帖子喜欢每段用一些空格来缩进,而Discuz!会默认将开头的空白删去,导致第一段和后面几段缩进就不对齐了。

我懒得去改代码了,只说个解决办法:发帖时在最开头换行,即第一行为回车,第二行开始才是正文。这样发帖时会删除第一行的回车,但不会删除第二行的空格。不过编辑帖子时,注意再加上回车。

让注册会员自愿选择性别的方法

标签:Discuz!

看到很多论坛弄什么必须选择性别的插件,有的还不让变性,实在是剥夺了会员的性别自由。

刚才想到个很民主的办法,让会员自愿选择性别~

让Discuz!发帖际遇不可编辑

标签:Discuz!, PHP

发帖际遇这个插件确实很有趣,但有个缺点,就是际遇是保存在帖子内容里的,因此会员可以随意编辑。
其实只要在posts表里增加一个event字段,然后显示该字段的内容即可。

让RSS和Archiver简易判断Discuz!代码

标签:Discuz!, PHP, RSS

Discuz!的RSS有个很大的毛病,如果出现了Discuz!代码,后面的内容就少了一大截,查了下rss.php,发现原来是个bug:
addslashes(cutstr(dhtmlspecialchars(preg_replace("/(\[.+\])/s", '', strip_tags(nl2br($thread['message'])))), 255));
/(\[.+\])/s进行的是贪婪匹配,因此一旦发现[字符,就会将最后一个]字符前的内容通通替换掉了。

Discuz! Archiver的description生成bug

标签:Discuz!, SEO

Discuz!的Archiver有很多种叫法:存档、文字版本、无图版本、急速版本。
对于网速较慢的访问者来说(例如某教育网用户),Archiver可能是个救星,这也是我启用Archiver的原因。

但今天看了下Archiver的源代码,发现个bug,就是meta里的description生成的都是一样的,这样很不利于SEO。
开始以为是我修改了论坛导致的,但到Discuz!官方论坛也是这个样子(截止今日,版本7.0),才知道不是我的错。
可是检查了半天也没发现错误,因为取出来的都是正确的,最终想起了一个变量作用域的因素,才恍然大悟。

优化Discuz!6.1的RSS

标签:Discuz!, PHP, RSS

这些天用Google阅读器发现一个问题,仅管我的论坛设为60分钟更新一次RSS,但经常几天才会在阅读器上看到一次更新。于是检查了一下rss.php,发现果然是discuz的bug导致。

« 看看还有什么好玩意