練功房推薦書單

  • Google!Android 3手機應用程式設計入門(第四版)
  • 賈伯斯傳(軟皮精裝版)
  • 猛虎出閘制霸版:最新OCP Java SE 6 Programmer專業認證(附原始程式碼及範例檔)
  • SCWCD 5 猛虎出閘:Java Web 應用程式專業認證
jforum论坛二次开发--显示版主  XML
Forum Index » JForum中文社群 JForum Chinese Users Community
Author Message
lynx286

九級學員

Joined: 2008-04-24 12:03:16
Messages: 10
Offline

*****************************************
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

九級學員

Joined: 2008-04-24 12:03:16
Messages: 10
Offline

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> 

This message was edited 2 times. Last update was at 2008-05-12 20:36:45

lynx286

九級學員

Joined: 2008-04-24 12:03:16
Messages: 10
Offline

上面贴了两遍,不好意思 smilie

This message was edited 1 time. Last update was at 2008-05-10 13:18:37

wu_net2008

八級學員

Joined: 2008-04-30 11:02:50
Messages: 20
Offline

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]

Joined: 2007-01-02 22:20:40
Messages: 652
Location: 台北
Offline

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

分享經驗 累積智慧
[WWW] [MSN]
 
Forum Index » JForum中文社群 JForum Chinese Users Community
Go to: