Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

[已完结] 论坛首页四格图片大小、展示数量、时间的设置

[复制链接]
ofshanghai 发表于 2016-11-8 09:43:22 | 显示全部楼层 |阅读模式
需求发布
金额范围: 10-50 元
预算金额: 10 元
开始时间: 2016-11-08
结束时间: 2016-11-08
联系方式: 隐藏内容
本帖最后由 ofshanghai 于 2016-11-9 11:31 编辑 & K9 n% W  y( h( L! a! b% S
& e/ e5 c* N* U$ {& H
昨天在修改首页四格,搜索到的方法,发现是可以适用。故分享给大家,有需求的可以测试。

5 N: F3 V4 T3 F- f7 n. I
找到template/default/forum/discuz.htm大概第64-82行,我们看到有一个{eval $k=1;}…{eval $k++}  这段代码的意思就是,从1开始,有一个幻灯片就会加1,这样会一直循环下去,我们想让他显示5张幻灯片,只需要把$k++修改为$k=5(经过我测试,$k++这里不需要修改)就好了,另外如果要修改幻灯片播放速度,播放窗口大小,可以找到对应的slideSpeed,slideImgsize(这个是修改图片大小,默认好像是(218,202),数字可以改成你想要的大小来修改即可。(如果调整图片大了,里面还有一个style,宽度width也需要调整图片的宽度,否则边框线和图片会不一致,看着不舒服)
展示时间没有测试,有需要的可以调试。
  1. <script type="text/javascript">   j0 O/ E3 F  [+ e$ d
  2. var slideSpeed = 5000;
    : G& Y0 F4 k% c
  3. var slideImgsize = [218,200]; 3 l. V1 B" @% r$ O& K& D* P8 }# n
  4. var slideBorderColor = ‘{$_G['style']['specialborder']}’; % X! o: I' {+ |: H( j
  5. var slideBgColor = ‘{$_G['style']['commonbg']}’;
    ) ]* v0 z  c0 G3 R8 A
  6. var slideImgs = new Array(); 8 z4 v0 B8 @! L8 V* L: y- H8 }
  7. var slideImgLinks = new Array(); 6 }1 E- R* s- S  V1 a8 L9 E  H
  8. var slideImgTexts = new Array();
    5 t$ Y6 N3 R+ S8 v% A
  9. var slideSwitchColor = ‘{$_G['style']['tabletext']}’;
    , s' C: Z+ u0 W$ B8 Z$ b
  10. var slideSwitchbgColor = ‘{$_G['style']['commonbg']}’; # l- z! N. P- q+ G( R, L% a( G
  11. var slideSwitchHiColor = ‘{$_G['style']['specialborder']}’;
    $ ]' D3 U: i* d. E/ ~  s3 s
  12. {eval $k = 1;}
      u+ A/ U% K9 i! j& M, U9 J
  13. <!–{loop $grids['slide'] $stid $svalue}–> : C, U; t8 w' @0 O) L
  14.     slideImgs[<!--{echo $k}-->] = ‘$svalue[image]‘; 0 M% D- b5 |9 i. m- c
  15.     slideImgLinks[<!--{echo $k}-->] = ‘{$svalue[url]}’;
    5 l( ~  P# t$ g/ P, n* @# ?
  16.     slideImgTexts[<!--{echo $k}-->] = ‘$svalue[subject]‘;
    1 ?! z, G/ j1 I/ |2 G2 h0 o
  17.     {eval $k=5;}  这里应该有误,应该不需要修改,原文:{eval$k++<span style="line-height: 1.5;">;}</span>
复制代码
  1. , i( |' G; d- T+ p# [# z! C: w
  2. dota闪电站小猪告诉大家上面这样觉得是不行滴,请先在FTP中找到/public_html/source/module/forum/forum_index.php,找到并编辑
    3 \. H. f3 O2 F% i% V

  3. ) ~9 P4 b4 ]: T) l& v0 x
  4.         if($_G['setting']['grid']['gridtype']) { 8 r: i) J' N4 R+ t
  5.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 10, $_G['setting']['grid']['fids']);
    ' \4 c! l. y9 J; x
  6.         } else { ; l8 m7 d  T, v, U7 F' L! h3 _' Z
  7.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(10);
    . a7 D9 M. j7 J1 q/ L) W
  8.             foreach($images as $key => $value) { $ J" i# S  }: o8 H' c6 z" t
  9.                 $tids[$value['tid']] = $value['tid']; + U9 W5 S$ p7 R$ B
  10.             }
    2 L1 ?% L4 Q# N0 W) V
  11.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids);   v5 c7 u0 c1 o% _. d" P
  12.         }
复制代码
默认是10,不是所有的10需要调整,否则其他热门回复,最新主题展示数量也会改变展示数量。
  1. 修改成: ; u. u; q  b, t
  2.         if($_G['setting']['grid']['gridtype']) {
    5 k% A: O  B, Z3 w
  3.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 8, $_G['setting']['grid']['fids']); , \# j2 d  T# P/ F& u
  4.         } else { % p" j; [+ j2 s  K; ]7 B
  5.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(8);   {" |4 S) M1 y/ t8 y6 B0 U
  6.             foreach($images as $key => $value) {
    * a3 e& U' g; ~2 x
  7.                 $tids[$value['tid']] = $value['tid'];
    - K% d# o# l1 N& p' Q
  8.             } ! J' y/ y' ?3 ]; Z" k! c; U
  9.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids);
复制代码
应该只需要改2个数字,可以改为你需要展示的数量
欢迎交流,如有问题,欢迎留言。
, c) U0 m! ~3 k1 u/ ^
  D! w2 E# C8 ]5 _5 w) j5 _
原文参见: http://msn.shandian.biz/755.html
7 j: q/ }6 N, g; N, |: d$ k
回复

使用道具 举报

908050454 发表于 2016-11-8 10:16:23 | 显示全部楼层
给你一个大顶顶
回复

使用道具 举报

iajh51 发表于 2016-11-8 10:18:44 | 显示全部楼层
给你一个大顶顶
回复

使用道具 举报

 楼主| ofshanghai 发表于 2016-11-13 22:25:00 | 显示全部楼层
本帖最后由 ofshanghai 于 2016-11-13 22:26 编辑
& C' o4 R6 ~: b3 e' }* W/ G7 Q

  1. " K* X2 X8 A- h
  2.                                                                 <div class="module cl slidebox_grid" style="width:280px;height:210px">
    " P0 L3 l: S# {% K+ ?5 M. ?: h) R
  3.                                                                         <script type="text/javascript">1 J( D  ?3 V" o- q  D' ?
  4.                                                                         var slideSpeed = 5000;
    4 i  R" T  b$ m
  5.                                                                         var slideImgsize = [280,210];
复制代码
template/default/forum/discuz.htm  中  \1 S6 {/ x6 w' Y& S( A- N2 l
  ?' f8 `! E% ~
style="width:280px;height:210px这部分是限制图片宽度、高度;
# P7 I* d& L6 `2 jvar slideImgsize = [280,210]这部分是滚动图片框高度(经测试,除了设置var slideImgsize 高度,宽度外;style中的宽度和高度,也要调整)
2 H0 O: ~9 o8 ]9 X9 p9 Y+ x! h, \6 @- X' ?6 r% n6 D

$ }  a9 ?* ~4 ^否则会出现图片超出图片框高度。
8 O2 K: l( c* }+ T! P/ ?
1 V# N2 H, A' J- j
回复

使用道具 举报

qmdpy 发表于 2016-11-15 10:50:45 | 显示全部楼层
长见识了,感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-17 22:28 , Processed in 0.111486 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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