让Discuz!发帖际遇不可编辑
2008 12 29 02:50 AM 1735次查看
其实只要在posts表里增加一个event字段,然后显示该字段的内容即可。
修改方法如下:
- 由于修改的文件较多,并涉及到数据库操作,建议先关闭论坛,并备份数据库。
- 去网站后台给posts表(一般是cdb_posts)添加一个event字段,类型为varchar,长度255(如果你的际遇很短,也可以设小些),可为空(null)。
- 编辑include/event.inc.php文件,找到:eval("\$event = \"$event\";");,在下面加上:
其实下面的代码还能压缩下,if ($final_show)那段代码也可删去。$db->query("UPDATE {$tablepre}posts SET event='{$event}' WHERE pid='{$pid}'");
- 编辑include/newthread.inc.php和include/newreply.inc.php,把require_once('event.inc.php');移动到这段代码下面:
$pid = $db->insert_id();
- 编辑模板文件夹下的viewthread.htm和viewthread_special_post.htm文件,搜索$post[message],在下面加上这段代码:
可以自己调整位置,不懂的话就乱改,然后刷新看位置。<!--{if $post['event']}--> <div class="event">发帖际遇:$post[event]</div> <!--{/if}-->
- 编辑模板文件夹下的css_append.htm文件,在最下面加上
.event { width: 500px; color: #999; border-top: 1px solid #ccc; margin-top: 8px; padding-top: 8px; }
- 如果你想让Archiver中也显示际遇,可以编辑archiver/include/thread.inc.php。搜索:
在后面加上p.event,。$query = $db->query("SELECT p.author, p.dateline, p.subject, p.message, p.anonymous, p.status,
再搜索:
在下面加上:echo "<p class=\"author\"><strong>$post[author]</strong> $lang[post_time] $post[dateline]</p>\n$post[message]";
if ($post['event']) echo "<div class='event'>发帖际遇:$post[event]</div>";
- 去后台更新缓存,重新开启论坛。
最后说下不足之处:
- 特殊主题(如投票帖)的楼主不会显示际遇。因为暂时没找到修改之处。
- event字段和event表有数据冗余。不过修改太麻烦,需要改字段和显示方式,所以懒得弄了。
0条评论 你不来一发么↓