通常来说,为了监控会员对帖子的编辑,需要将“本帖最后由 ** 于 ** 编辑”这榫头的“编辑帖子附加编辑记录”功能开启,但Discuz X2犯了一个很大的错误,那就是将“最后由 ** 于 ** 编辑”这段话显示到了帖子正文内容的前面,如此一来势必会影响到搜索引擎对帖子的读取,造成读取不到重要信息的情况。最好的做法,还是像Discuz 6.0一样,将这样一句提示语放置在帖子正文的下面。
要实现这样的效果,需要修改两个文件。
首先,用文本编辑软件打开source\language\forum\lang_misc.php,打到以下语句- 'post_edit' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]\n\n',
- 'post_edit_regexp' => '/^\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]\n\n/s',
- 'post_edithtml' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]<br /><br />',
- 'post_edithtml_regexp' => '/^\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]<br \/><br \/>/s',
复制代码 修改为- 'post_edit' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]\n\n',
- 'post_edit_regexp' => '/\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]\n\n/s',
- 'post_edithtml' => '[i=s] 本帖最后由 {editor} 于 {edittime} 编辑 [/i]<br /><br />',
- 'post_edithtml_regexp' => '/\[i=s\] 本帖最后由 .*? 于 .*? 编辑 \[\/i\]<br \/><br \/>/s',
复制代码 然后同样打开source\include\post\post_editpost.php,搜索以下语句- $message = lang('forum/misc', $htmlon ? 'post_edithtml' : (!$_G['forum']['allowbbcode'] || $_G['gp_bbcodeoff'] ? 'post_editnobbcode' : 'post_edit'), array('editor' => $editor, 'edittime' => $edittime)) . $message;
复制代码 修改为- $message = $message.lang('forum/misc', $htmlon ? 'post_edithtml' : (!$_G['forum']['allowbbcode'] || $_G['gp_bbcodeoff'] ? 'post_editnobbcode' : 'post_edit'), array('editor' => $editor, 'edittime' => $edittime));
复制代码 将文件保存后上传至对应目录,更新缓存,之后修改的帖子将在正文内容下面显示“本帖最后由**于**编辑”,由于这条信息是在数据库中保存的,所以对于修改源程序之前已经存在的记录是不会起作用的。 |
|