Discuz X2 群组推荐到论坛版块的横排显示方法
群组推荐到论坛板块后无法横排显示,后台没有这个设置功能,默认一排只能显示一个群组,与上面横排显示的论坛板块不是很协调,如下图:

2.jpg

怎样才能横排显示推荐的群组呢,如下图:

3.jpg

这里讲一个方法,两步可以实现,需要修改程序和模板:
一、找到程序文件的"source/module/forum/forum_forumdisplay.php"的 305-312 行:

  1. if($_G['forum']['modrecommend'] && $_G['forum']['modrecommend']['open']) {
  2.         $_G['forum']['recommendlist'] = recommendupdate($_G['fid'], $_G['forum']['modrecommend'], '', 1);
  3. }
  4. $recommendgroups = array();
  5. if($_G['forum']['status'] != 3 && $_G['setting']['groupstatus']) {
  6.         loadcache('forumrecommend');
  7.         $recommendgroups = $_G['cache']['forumrecommend'][$_G['fid']];
  8. }

修改为:

  1. if($_G['forum']['modrecommend'] && $_G['forum']['modrecommend']['open']) {
  2.         $_G['forum']['recommendlist'] = recommendupdate($_G['fid'], $_G['forum']['modrecommend'], '', 1);
  3. }
  4. $recommendgroups = array();
  5. if($_G['forum']['status'] != 3 && $_G['setting']['groupstatus']) {
  6.         loadcache('forumrecommend');
  7.         $recommendgroups = $_G['cache']['forumrecommend'][$_G['fid']];
  8. }
  9. $_G['groups']['forumcolumns'] = 3 ;
  10. $_G['groups']['forumcolwidth'] = (floor(100 / $_G['groups']['forumcolumns']) - 0.1).'%';
  11. $_G['groups']['endrows'] = '';
  12. if($colspan = count($recommendgroups) % $_G['groups']['forumcolumns']) {
  13.         while(($_G['groups']['forumcolumns'] - $colspan) > 0) {
  14.                 $_G['groups']['endrows'] .= '<td> </td>';
  15.                 $colspan ++;
  16.         }
  17.         $_G['groups']['endrows'] .= '</tr>';
  18. }

「$_G['groups']['forumcolumns'] = 3 ;」 的值,既是横排显示的个数,可自由修改。

二、找到模板文件" template/default/forum/forumdisplay.htm"的 126-150 行

  1. <table cellspacing="0" cellpadding="0" >
  2.                                                         <!--{loop $recommendgroups $key $group}-->
  3.                                                         <tr {if $key != 0}{/if}>
  4.                                                                 <td >
  5. <a href="forum.php?mod=group&fid=$group[fid]"
    title="$group[name]" target="_blank"><img src="$group[icon]"
    alt="$group[name]" width="32" /></a>
  6.                                                                 </td>
  7.                                                                 <td>
  8. <h2><a href="forum.php?mod=group&fid=$group[fid]"
    target="_blank">$group[name]</a><span >
    ($group[membernum] {lang activity_member_unit})</span></h2>
  9. <p><!--{echo cutstr($group[description],
    100)}--></p>
  10.                                                                 </td>
  11.                                                                 <td >
  12. <span >$group[threads] {lang
    index_threads}</span>
  13.                                                                 </td>
  14.                                                                 <td >
  15.                                                                         <div>
  16.                                                                                 <!--{if is_array($group['lastpost'])}-->
  17. <a
    href="forum.php?mod=redirect&tid=$group[lastpost][tid]&goto=lastpost#lastpost"
    ><!--{echo cutstr($group[lastpost][subject],
    30)}--></a> <cite>$group[lastpost][dateline] <!--{if
    $group['lastpost']['author']}--><a
    href="home.php?mod=space&username={$group[lastpost][encode_author]}">{$group[lastpost][author]}</a><!--{else}-->$_G[setting][anonymoustext]<!--{/if}--></cite>
  18.                                                                                 <!--{else}-->
  19.                                                                                 {lang never}
  20.                                                                                 <!--{/if}-->
  21.                                                                         </div>
  22.                                                                 </td>
  23.                                                         </tr>
  24.                                                         <!--{/loop}-->
  25.                                                 </table>

修改为:

  1. <table cellspacing="0" cellpadding="0" >
  2.                                                         <!--{loop $recommendgroups $key $group}-->
  3.                                                                 <!--{if ($key % $_G['groups']['forumcolumns'] == 0)}-->
  4.                                                                 <tr {if $key != 0}{/if}>
  5.                                                                 <!--{/if}-->
  6.                                                                 <td width="$_G[groups][forumcolwidth]"">
  7.                                                                         <div >
  8. <a href="forum.php?mod=group&fid=$group[fid]"
    title="$group[name]" target="_blank"><img src="$group[icon]"
    alt="$group[name]" width="32" /></a>
  9.                                                                         </div>
  10.                                                                         <dl>
  11.                                                                                 <dt>
  12. <h2><a
    href="forum.php?mod=group&fid=$group[fid]"
    target="_blank">$group[name]</a><span >
    ($group[membernum] {lang activity_member_unit})</span></h2>
  13. <p><!--{echo
    cutstr($group[description], 100)}--></p>
  14.                                                                                 </dt>
  15.                                                                                 <dd>
  16. <span >$group[threads] {lang
    index_threads}</span>
  17.                                                                                 </dd>
  18.                                                                                 <dd>
  19. <!--{if is_array($group['lastpost'])}-->
  20. <a
    href="forum.php?mod=redirect&tid=$group[lastpost][tid]&goto=lastpost#lastpost"
    ><!--{echo cutstr($group[lastpost][subject],
    30)}--></a> <cite>$group[lastpost][dateline] <!--{if
    $group['lastpost']['author']}--><a
    href="home.php?mod=space&username={$group[lastpost][encode_author]}">{$group[lastpost][author]}</a><!--{else}-->$_G[setting][anonymoustext]<!--{/if}--></cite>
  21.                                                                                         <!--{else}-->
  22.                                                                                         {lang never}
  23.                                                                                         <!--{/if}-->
  24.                                                                                 </dd>
  25.                                                                         </dl>
  26.                                                                 </td>
  27.                                                         <!--{/loop}-->
  28.                                                         $_G['groups']['endrows']
  29.                                                         </tr>
  30.                                                 </table>

OK!