找回密码
 注册

Discuz x2 将“本帖最后由**于**编辑”移至正文后面

php 发表于 2012/3/23 19:13 | 显示全部楼层 |阅读模式
通常来说,为了监控会员对帖子的编辑,需要将“本帖最后由 ** 于 ** 编辑”这榫头的“编辑帖子附加编辑记录”功能开启,但Discuz X2犯了一个很大的错误,那就是将“最后由 ** 于 ** 编辑”这段话显示到了帖子正文内容的前面,如此一来势必会影响到搜索引擎对帖子的读取,造成读取不到重要信息的情况。最好的做法,还是像Discuz 6.0一样,将这样一句提示语放置在帖子正文的下面。

要实现这样的效果,需要修改两个文件。
首先,用文本编辑软件打开source\language\forum\lang_misc.php,打到以下语句
  1. 'post_edit' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]\n\n',
  2.         'post_edit_regexp' => '/^\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]\n\n/s',
  3.         'post_edithtml' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]<br /><br />',
  4.         'post_edithtml_regexp' => '/^\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]<br \/><br \/>/s',
复制代码
修改为
  1. 'post_edit' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]\n\n',
  2.         'post_edit_regexp' => '/\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]\n\n/s',
  3.         'post_edithtml' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]<br /><br />',
  4.         'post_edithtml_regexp' => '/\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]<br \/><br \/>/s',
复制代码
然后同样打开source\include\post\post_editpost.php,搜索以下语句
  1. $message = lang('forum/misc', $htmlon ? 'post_edithtml' : (!$_G['forum']['allowbbcode'] || $_G['gp_bbcodeoff'] ? 'post_editnobbcode' : 'post_edit'), array('editor' => $editor, 'edittime' => $edittime)) . $message;
复制代码
修改为
  1. $message = $message.lang('forum/misc', $htmlon ? 'post_edithtml' : (!$_G['forum']['allowbbcode'] || $_G['gp_bbcodeoff'] ? 'post_editnobbcode' : 'post_edit'), array('editor' => $editor, 'edittime' => $edittime));
复制代码
将文件保存后上传至对应目录,更新缓存,之后修改的帖子将在正文内容下面显示“本帖最后由**于**编辑”,由于这条信息是在数据库中保存的,所以对于修改源程序之前已经存在的记录是不会起作用的。

手机版|轻松E站

轻松E站

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