Discuz教程网

[代码修改] Discuz X2 首页横排 调用多条数据 手动修改+懒人包

[复制链接]
authicon dly 发表于 2011-9-4 17:14:50 | 显示全部楼层 |阅读模式
360截图20110904170209937.jpg
这个美化很多人都在找,但是网上大多给的是懒人包,这样修改了模板的同志就不知道怎么办好了。经过我认真琢磨,终于搞定手动修改办法。现在放出来与大家共享。
     首先将我提供的附件内的common.css文件放在template/风格文件夹/common文件夹内  如果你的风格里已经有这个文件了,那么请不要修改,用文本对比工具进行修改,或者将此文件另命它名,但是相应的你要在discuz.htm文件内修改CSS引用。
    第二步骤,打开forum.php,在 $navtitle = str_replace('{bbname}', $_G['setting']['bbname'], $_G['setting']['seotitle']['forum']);
语句下一行加入以下代码:

  1. //帖子调用开始
  2. $hack_cut_str =26; // 这里修改标题长度
  3. $fids = array();
  4. if (file_exists("./data/cache/cache_forums.php")){
  5. require_once "./data/cache/cache_forums.php";
  6. if (is_array($_DCACHE['forums'])){
  7. foreach ($_DCACHE['forums'] as $k => $v){
  8. if (!strstr(',sub,forum,',','.$v['type'].',')) continue;
  9. $fids[$k] = 7; // 这里是第一处调用条数需要和后面的设置一样。
  10. }
  11. }
  12. }
  13. if (count($fids) < 1){
  14. $query = DB::query("SELECT fid FROM ".DB::table('forum_forum')." WHERE type='forum' OR type='sub'");
  15. while ($row = DB::fetch($query)){
  16. $fids[$row['fid']] = 7; // 这里是第二处调用条数需要和前面的设置一样。
  17. }
  18. }
  19. $limit_counts = 0;
  20. foreach ($fids as $k => $v){
  21. $sql .= "(SELECT t.*, f.name FROM ".DB::table('forum_thread')." t LEFT JOIN ".DB::table('forum_forum')." f ON f.fid = t.fid WHERE t.fid='$k' AND t.closed NOT LIKE 'moved|%' AND t.displayorder>=0 ORDER BY t.dateline DESC LIMIT $v) UNION ";
  22. }
  23. if ($sql){
  24. $sql = substr($sql,0,strlen($sql)-6);
  25. }
  26. $query = DB::query($sql);
  27. while ($row = DB::fetch($query)){
  28. $row['view_subject'] = cutstr($row['subject'],$hack_cut_str);
  29. $row['date']= gmdate('m-d/H:i', $row['dateline'] + $_G['setting']['timeoffset'] * 3600);
  30. if($row['highlight']) {
  31. $string = sprintf('%02d', $row['highlight']);
  32. $stylestr = sprintf('%03b', $string[0]);
  33. $row['highlight'] = 'style="';
  34. $row['highlight'] .= $stylestr[0] ? 'font-weight: bold;' : '';
  35. $row['highlight'] .= $stylestr[1] ? 'font-style: italic;' : '';
  36. $row['highlight'] .= $stylestr[2] ? 'text-decoration: underline;' : '';
  37. $row['highlight'] .= $string[1] ? 'color: '.$colorarray[$string[1]] : '';
  38. $row['highlight'] .= '"';
  39. } else {
  40. $row['highlight'] = '';
  41. }
  42. ${'new_no'.$row['fid'].'_threadlist'}[] = $row;
  43. }
  44. //帖子调用结束
复制代码
代码不解释,因为有注释,如果看不懂,可以回炉重造了。
保存并上传覆盖forum.php(安全起见,在本地所有文件修改完毕后一同上传)
第三步,找到风格文件下的discuz.htm 打开查找 <!--{loop $catlist $key $cat}-->和  <!--{hook/index_bottom}--> 中间内容省略,全选<!--{loop $catlist $key $cat}-->到  <!--{hook/index_bottom}--> 之间的内容,用以下代码覆盖即可。
  1. <!--{loop $catlist $key $cat}-->
  2. <div class="bm bmw {if $cat['forumcolumns']} flg{/if} cl">
  3. <div class="bm_h cl">
  4. <span class="o">
  5. <img id="category_$cat[fid]_img" src="{IMGDIR}/$cat[collapseimg]" title="{lang spread}" alt="{lang spread}" />
  6. </span>
  7. <!--{if $cat['moderators']}--><span class="y">{lang forum_category_modedby}: $cat[moderators]</span><!--{/if}-->
  8. <!--{eval $caturl = !empty($cat['domain']) && !empty($_G['setting']['domain']['root']['forum']) ? 'http://'.$cat['domain'].'.'.$_G['setting']['domain']['root']['forum'] : '';}-->
  9. <h2><a href="{if !empty($caturl)}$caturl{else}forum.php?gid=$cat[fid]{/if}" style="{if $cat[extra][namecolor]}color: {$cat[extra][namecolor]};{/if}">$cat[name]</a></h2>
  10. </div>
  11. <div id="category_$cat[fid]" class="bm_c" style="$collapse['category_'.$cat[fid]]">
  12. <table cellspacing="0" cellpadding="0" class="fl_tb">
  13. <tr>
  14. <!--{loop $cat[forums] $forumid}-->
  15. <!--{eval $forum=$forumlist[$forumid];}-->
  16. <!--{eval $forumurl = !empty($forum['domain']) && !empty($_G['setting']['domain']['root']['forum']) ? 'http://'.$forum['domain'].'.'.$_G['setting']['domain']['root']['forum'] : 'https://www.discuz.1314study.com/forum.php?mod=forumdisplay&fid='.$forum['fid'];}-->
  17. <!--{if $cat['forumcolumns']}-->
  18. <!--{if $forum['orderid'] && ($forum['orderid'] % $cat['forumcolumns'] == 0)}-->
  19. </tr>
  20. <!--{if $forum['orderid'] < $cat['forumscount']}-->
  21. <tr class="fl_row">
  22. <!--{/if}-->
  23. <!--{/if}-->
  24. <td class="fl_g" width="$cat[forumcolwidth]" style="padding:10px">
  25. <!--{if $forum[icon]}--><div class="cl">$forum[icon]</div> <!--{/if}-->
  26. <div class="cl">
  27. <div class="z"><!--{if $forum[todayposts] && !$forum['redirect']}--><em class="xw0 xi1" title="{lang forum_todayposts}">今日:$forum[todayposts] </em><!--{/if}--><!--{if empty($forum[redirect])}--><em>帖子:$forum[posts]</em><!--{/if}--></div>
  28. <div class="y">
  29. <a href="/forum.php?mod=post&action=newthread&fid=$forum['fid']" title="发新帖">发帖</a>
  30. <a id="mn_N88$forum['fid']">版主</a>
  31. <div class="p_pop h_pop" id="mn_N88$forum['fid']_menu" style="display: none">$forum[moderators]</div>
  32. <a href="$forumurl"{if $forum[redirect]} target="_blank"{/if}>更多</a>
  33. </div> </div>
  34. <div class="clear b-thread" style="background: url({IMGDIR}/listbg_li.gif) no-repeat;">
  35. <ul id="dateline_$forum[fid]" class="list">
  36. <!--{loop ${"new_no".$forum[fid]."_threadlist"} $row}-->
  37. <div class="t_no-pms">
  38. <!--{if $forum['permission'] == 1}-->
  39. {lang private_forum}, 您目前没有权限可查阅主题及内容
  40. <!--{else}-->
  41. <small class="t_date">$row['dah']</small> <a href="forum.php?mod=viewthread&tid=$row[tid]" $row[highlight] title="$row[subject] ($row['date'])" target='_self'>$row[view_subject]</a>
  42. <!--{/if}-->
  43. </div>
  44. <!--{/loop}-->
  45. </ul>
  46. </div>
  47. </td>
  48. <!--{else}-->
  49. <td class="fl_icn" {if !empty($forum[extra][iconwidth]) && !empty($forum[icon])} style="width: {$forum[extra][iconwidth]}px;"{/if}>
  50. <!--{if $forum[icon]}-->
  51. $forum[icon]
  52. <!--{else}-->
  53. <a href="$forumurl"{if $forum[redirect]} target="_blank"{/if}><img src="{IMGDIR}/forum{if $forum[folder]}_new{/if}.gif" alt="$forum[name]" /></a>
  54. <!--{/if}-->
  55. </td>
  56. <td>
  57. <h2><a href="$forumurl"{if $forum[redirect]} target="_blank"{/if}{if $forum[extra][namecolor]} style="color: {$forum[extra][namecolor]};"{/if}>$forum[name]</a><!--{if $forum[todayposts] && !$forum['redirect']}--><em class="xw0 xi1" title="{lang forum_todayposts}"> ($forum[todayposts])</em><!--{/if}--></h2>
  58. <!--{if $forum[description]}--><p class="xg2">$forum[description]</p><!--{/if}-->
  59. <!--{if $forum['subforums']}--><p>{lang forum_subforums}: $forum['subforums']</p><!--{/if}-->
  60. <!--{if $forum['moderators']}--><p>{lang forum_moderators}: <span class="xi2">$forum[moderators]</span></p><!--{/if}-->
  61. </td>
  62. <td class="fl_i">
  63. <!--{if empty($forum[redirect])}--><span class="xi2">$forum[threads]</span><span class="xg1"> / $forum[posts]</span><!--{/if}-->
  64. </td>
  65. <td class="fl_by">
  66. <div>
  67. <!--{if $forum['permission'] == 1}-->
  68. {lang private_forum}
  69. <!--{else}-->
  70. <!--{if $forum['redirect']}-->
  71. <a href="$forumurl" class="xi2">{lang url_link}</a>
  72. <!--{elseif is_array($forum['lastpost'])}-->
  73. <a href="forum.php?mod=redirect&tid=$forum[lastpost][tid]&goto=lastpost#lastpost" class="xi2"><!--{echo cutstr($forum[lastpost][subject], 30)}--></a> <cite>$forum[lastpost][dateline] <!--{if $forum['lastpost']['author']}-->$forum['lastpost']['author']<!--{else}-->$_G[setting][anonymoustext]<!--{/if}--></cite>
  74. <!--{else}-->
  75. {lang never}
  76. <!--{/if}-->
  77. <!--{/if}-->
  78. </div>
  79. </td>
  80. </tr>
  81. <tr class="fl_row">
  82. <!--{/if}-->
  83. <!--{/loop}-->
  84. $cat['endrows']
  85. </tr>
  86. </table>
  87. </div>
  88. </div>
  89. <!--{ad/intercat/bm a_c/$cat[fid]}-->
  90. <!--{/loop}-->
  91. </div>

  92. <!--{hook/index_middle}-->
  93. <div class="wp mtn">
  94. <!--[diy=diy3]--><div id="diy3" class="area"></div><!--[/diy]-->
  95. </div>
  96. <!--{if empty($gid) && $_G['setting']['whosonlinestatus']}-->
  97. <div id="online" class="bm oll">
  98. <div class="bm_h">
  99. <!--{if $detailstatus}-->
  100. <span class="o"><a href="forum.php?showoldetails=no#online" title="{lang spread}"><img src="{IMGDIR}/collapsed_no.gif" alt="{lang spread}" /></a></span>
  101. <h3>
  102. <strong><a href="home.php?mod=space&do=friend&view=online&type=member">{lang onlinemember}</a></strong>
  103. <span class="xs1">- <strong>$onlinenum</strong> {lang onlines}
  104. - <strong>$membercount</strong> {lang index_members}(<strong>$invisiblecount</strong> {lang index_invisibles}),
  105. <strong>$guestcount</strong> {lang index_guests}
  106. - {lang index_mostonlines} <strong>$onlineinfo[0]</strong> {lang on} <strong>$onlineinfo[1]</strong>.</span>
  107. </h3>
  108. <!--{else}-->
  109. <span class="o"><a href="forum.php?showoldetails=yes#online" title="{lang spread}"><img src="{IMGDIR}/collapsed_yes.gif" alt="{lang spread}" /></a></span>
  110. <h3>
  111. <strong><a href="home.php?mod=space&do=friend&view=online&type=member">{lang onlinemember}</a></strong>
  112. <span class="xs1">- {lang total} <strong>$onlinenum</strong> {lang onlines}
  113. - {lang index_mostonlines} <strong>$onlineinfo[0]</strong> {lang on} <strong>$onlineinfo[1]</strong>.</span>
  114. </h3>
  115. <!--{/if}-->
  116. </div>
  117. <!--{if $_G['setting']['whosonlinestatus'] && $detailstatus}-->
  118. <dl id="onlinelist" class="bm_c">
  119. <dt class="ptm pbm bbda">$_G[cache][onlinelist][legend]</dt>
  120. <!--{if $detailstatus}-->
  121. <dd class="ptm pbm">
  122. <ul class="cl">
  123. <!--{if $whosonline}-->
  124. <!--{loop $whosonline $key $online}-->
  125. <li title="{lang time}: $online[lastactivity]">
  126. <img src="{STATICURL}image/common/$online[icon]" alt="icon" />
  127. <!--{if $online['uid']}-->
  128. <a href="home.php?mod=space&uid=$online[uid]">$online[username]</a>
  129. <!--{else}-->
  130. $online[username]
  131. <!--{/if}-->
  132. </li>
  133. <!--{/loop}-->
  134. <!--{else}-->
  135. <li style="width: auto">{lang online_only_guests}</li>
  136. <!--{/if}-->
  137. </ul>
  138. </dd>
  139. <!--{/if}-->
  140. </dl>
  141. <!--{/if}-->
  142. </div>
  143. <!--{/if}-->
  144. <!--{if empty($gid) && ($_G['cache']['forumlinks'][0] || $_G['cache']['forumlinks'][1] || $_G['cache']['forumlinks'][2])}-->
  145. <div class="bm lk">
  146. <div id="category_lk" class="bm_c ptm">
  147. <!--{if $_G['cache']['forumlinks'][0]}-->
  148. <ul class="m mbn cl">$_G['cache']['forumlinks'][0]</ul>
  149. <!--{/if}-->
  150. <!--{if $_G['cache']['forumlinks'][1]}-->
  151. <div class="mbn cl">
  152. $_G['cache']['forumlinks'][1]
  153. </div>
  154. <!--{/if}-->
  155. <!--{if $_G['cache']['forumlinks'][2]}-->
  156. <ul class="x mbm cl">
  157. $_G['cache']['forumlinks'][2]
  158. </ul>
  159. <!--{/if}-->
  160. </div>
  161. </div>
  162. <!--{/if}-->
  163. <!--{hook/index_bottom}-->
复制代码

上面的代码也不解释,一般的模板在这个位置的覆盖都不会影响问题。如果要在这里继续美化,能修改的地方就那么几处,
扫一眼就明白了,好了保存discuz.htm,上传覆盖。
     最后就是listbg_li.gif,找到你的风格图片文件夹,上传即可,如果你连风格文件夹的话,那么你有两种选择,要么回炉重造,要么在我上面的代码中将背景图片地址改为绝对地址。如果你连在哪改绝对地址都不知道的话,强烈建议回炉重造。附件是几个用到的文件,懒人包就不上了,很简单,查找替换就完事,自己动手吧。

Discuz! X2 首页横排.zip (24.13 KB, 下载次数: 5)



上一篇:让Discuz拥有【百度输入法】适用于任何网站程序
下一篇:最牛叉的幻灯片特效,需要的人太多了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2024-11-1 08:03

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表