練功房推薦書單

  • 猛虎出柙雙劍合璧版--最新 OCA / OCP Java SE 7 Programmer 專業認證 (電子書)
  • 流浪教師存零股存到3000萬(全新增修版)(書+DVD)
  • 開始在關西自助旅行(京都‧大阪‧神戶‧奈良)(全新增訂版)
  • 不敗教主的300張股票存股術

jforum论坛二次开发--显示版主 RSS feed
討論區首頁 » JForum中文社群 JForum Chinese Users Community
發表人 內容
lynx286

九級學員

註冊時間: 2008/4/24
文章: 10
離線
*****************************************
lynx286原创, 首发www.mydwbi.com
http://www.mydwbi.com/posts/list/0/45.page
欢迎转贴, 但转贴请不要删除此段版权说明.
*****************************************

jforum论坛是很流行的java开源论坛,但不支持版主.网友可以查查其他的jforum论坛都没有版主, 这种论坛貌似很不适合中国国情,本人在这里介绍一个显示版主的方法.

1. 为每个板块添加一个群组, 将版主的群组属性改成此群组.
2. 板块的审核属性用默认的"不审核", 原来只有设置成"审核状态"才显示版主,但这样每发一个帖子都要审核,不好.
3. 删除forum_list.htm 第51(57)行那个if语句即可.

其实过程非常简单, 但是网上都没有人研究,尝试解决这个问题.

lynx286

九級學員

註冊時間: 2008/4/24
文章: 10
離線
jforum论坛二次开发--显示版主(续) 直接显示版主名称,而不是显示版主群组名称

*****************************************
lynx286原创, 首发www.mydwbi.com
http://www.mydwbi.com/posts/list/0/45.page
欢迎转贴, 但转贴请不要删除此段版权说明.
*****************************************


ForumRepository.java 增加以下函数:

public static List getModeratorList2(int forumId) {
List ulist = new ArrayList();
List l = getModeratorList(forumId);
System.out.println("************" + l.size());
if (l != null && l.size() > 0) {
for (Iterator it = l.iterator(); it.hasNext();) {
ModeratorInfo mi = (ModeratorInfo) it.next();
int groupId = mi.getId();
List users = listGroup(groupId);
ulist.addAll(users);
System.out.println("========" + users.size());
}
}
return ulist;
}

public static List listGroup(int groupId) {
// int groupId = this.request.getIntParameter("group_id");

int start = preparePagination(DataAccessDriver.getInstance()
.newUserDAO().getTotalUsersByGroup(groupId));
int usersPerPage = SystemGlobals.getIntValue(ConfigKeys.USERS_PER_PAGE);

List users = DataAccessDriver.getInstance().newUserDAO()
.selectAllByGroup(groupId, start, usersPerPage);
return users;
// this.context.put("users", users);
// this.setTemplateName(TemplateKeys.USER_LIST);
}

private static int preparePagination(int totalUsers) {
int start = ViewCommon.getStartPage();
int usersPerPage = SystemGlobals.getIntValue(ConfigKeys.USERS_PER_PAGE);

ViewCommon.contextToPagination(start, totalUsers, usersPerPage);

return start;
}



forum_list.htm 53-56行改成:

<#assign moderators = forumRepository.getModeratorList2(forum.id)/>
<#list moderators as m>
<a href="/user/profile/${m.id}")}">${m.username?html}</a>
</#list>
lynx286

九級學員

註冊時間: 2008/4/24
文章: 10
離線
上面贴了两遍,不好意思 smilie
wu_net2008

八級學員

註冊時間: 2008/4/30
文章: 20
離線
forum_list.htm的代码建议修改成:
<#assign moderators = forumRepository.getModeratorList2(forum.id)/>
<#list moderators as m>
<#if m.username?html!="Anonymous">
<a href="${contextPath}/user/profile/${m.id}.page")}">${m.username?html}</a>
</#if>
</#list>
andowson

七段學員
[Avatar]

註冊時間: 2007/1/2
文章: 711
來自: 台北
離線
原來的寫法是建立在這樣的假設:一般通常不會把Anonymous這個帳號設為版主才對,所以在效率上原來的寫法應該執行起來比較快。
您的考慮算比較周密,可以避開一些非預期的操作,不過就是要犧牲效能來多做這個判斷。

分享經驗 累積智慧
[WWW]
 
討論區首頁 » JForum中文社群 JForum Chinese Users Community
前往:   
行動版