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

 找回密码
 立即注册
搜索

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

[复制链接]
ofshanghai 发表于 2016-11-8 09:43:22 | 显示全部楼层 |阅读模式
需求发布
金额范围: 10-50 元
预算金额: 10 元
开始时间: 2016-11-08
结束时间: 2016-11-08
联系方式: 隐藏内容
本帖最后由 ofshanghai 于 2016-11-9 11:31 编辑
, b* Q6 c; }  t
" Y; y  @) h' x& v, h( j8 U
昨天在修改首页四格,搜索到的方法,发现是可以适用。故分享给大家,有需求的可以测试。
" h, }0 \/ E' c) r3 m
找到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">
    * R7 C3 I& d: y9 _
  2. var slideSpeed = 5000; + Q! T" n- F1 I! K
  3. var slideImgsize = [218,200]; 8 a7 ?/ u4 ~, y, [
  4. var slideBorderColor = ‘{$_G['style']['specialborder']}’; 4 C+ _- ]! N2 e2 [, \* b- ]- X6 K
  5. var slideBgColor = ‘{$_G['style']['commonbg']}’; " O" P2 F) {; Y
  6. var slideImgs = new Array(); ! r7 H9 Z0 H9 K$ @1 w' y
  7. var slideImgLinks = new Array(); 9 [, C/ s+ I9 v0 h8 d% v! D: C+ L
  8. var slideImgTexts = new Array(); 2 ?! V% n9 E6 k5 H' B2 ?6 _7 C2 u
  9. var slideSwitchColor = ‘{$_G['style']['tabletext']}’;
    " I) [7 [0 B  k' I
  10. var slideSwitchbgColor = ‘{$_G['style']['commonbg']}’;
    % c& r3 s, f$ M; Z8 g- W8 B4 W7 T
  11. var slideSwitchHiColor = ‘{$_G['style']['specialborder']}’;
    2 [* X$ `, i) K" [0 e! k' C3 o- E
  12. {eval $k = 1;}
    % z. U9 O1 S4 P: n: B" |
  13. <!–{loop $grids['slide'] $stid $svalue}–> 1 b/ {. S9 ~3 ]
  14.     slideImgs[<!--{echo $k}-->] = ‘$svalue[image]‘; : j/ F5 D2 P2 c; `4 X- m" O
  15.     slideImgLinks[<!--{echo $k}-->] = ‘{$svalue[url]}’;
    * z- V' H  u6 H1 v! ]$ g; Y8 d/ X
  16.     slideImgTexts[<!--{echo $k}-->] = ‘$svalue[subject]‘;
    6 I' U( k2 m* C4 w' `  [0 v+ B
  17.     {eval $k=5;}  这里应该有误,应该不需要修改,原文:{eval$k++<span style="line-height: 1.5;">;}</span>
复制代码
  1. 3 O3 w+ H  S* [5 ?) |- S, q' l) B
  2. dota闪电站小猪告诉大家上面这样觉得是不行滴,请先在FTP中找到/public_html/source/module/forum/forum_index.php,找到并编辑6 d2 R4 `1 U4 K+ M) p) G- K9 ]
  3. - e3 i; z4 L) ]: W
  4.         if($_G['setting']['grid']['gridtype']) {
    4 g! }3 h2 c" P2 A, ]1 I5 r) W
  5.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 10, $_G['setting']['grid']['fids']);
    8 [0 Z% C8 }  i/ ~5 e
  6.         } else { 8 K. S0 e- a1 b, @
  7.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(10); + J+ ^' o0 I: N9 M5 T+ N$ p
  8.             foreach($images as $key => $value) { 2 b2 c6 q* K; b! x
  9.                 $tids[$value['tid']] = $value['tid']; 4 r" C# R8 X! E; W7 A6 K+ t0 _% I
  10.             } $ s$ @) l9 a4 M' ], ?
  11.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids);
    ) h- t( {& F) Y/ v3 T
  12.         }
复制代码
默认是10,不是所有的10需要调整,否则其他热门回复,最新主题展示数量也会改变展示数量。
  1. 修改成: 1 y% Y+ x. ^! B
  2.         if($_G['setting']['grid']['gridtype']) { : o6 j6 D( `8 R& R/ g0 t6 S5 J
  3.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 8, $_G['setting']['grid']['fids']);
    ) C/ y2 H$ w/ O3 X
  4.         } else { . T4 x% X. @  E; T+ [$ \9 J+ v
  5.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(8); : ]4 e1 T/ e& `$ R/ X
  6.             foreach($images as $key => $value) {
    9 }; }6 m( d& G4 E- [! W' g6 O
  7.                 $tids[$value['tid']] = $value['tid'];
    ; h0 r, d) S! @5 I$ F1 {% \% a
  8.             }
    # ]* Z8 x  `8 V# t1 B4 u0 d/ ~* s' _
  9.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids);
复制代码
应该只需要改2个数字,可以改为你需要展示的数量
欢迎交流,如有问题,欢迎留言。
4 n7 x2 E2 k( v) M- M
$ }" r0 a- S# O6 o- W
原文参见: http://msn.shandian.biz/755.html

0 T8 D+ U5 B$ f7 ]
回复

使用道具 举报

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 编辑   q: h4 e) l4 H/ n
  1. 5 m- |8 `  s. p% F: G2 h0 i3 J
  2.                                                                 <div class="module cl slidebox_grid" style="width:280px;height:210px">
    7 {8 `! O& |8 C. l' f+ n/ }* ~
  3.                                                                         <script type="text/javascript">
    9 L$ C' S! y# |/ r' c
  4.                                                                         var slideSpeed = 5000;
    8 r2 [3 u, Y  w4 z2 X8 C5 I0 f
  5.                                                                         var slideImgsize = [280,210];
复制代码
template/default/forum/discuz.htm  中4 W* |+ D; b: N) }

: v3 X+ j" t; {8 [6 F' Gstyle="width:280px;height:210px这部分是限制图片宽度、高度;8 I$ u) A" `/ Z/ \7 ~
var slideImgsize = [280,210]这部分是滚动图片框高度(经测试,除了设置var slideImgsize 高度,宽度外;style中的宽度和高度,也要调整)
# y8 t4 T  N0 _$ m+ B% N* W+ d- C- U& m$ h) Q0 ^, E
3 ?! b2 L) G" K* w, o, K2 V
否则会出现图片超出图片框高度。2 Z+ P2 W1 f& P8 ~. s
  X3 L" S* P7 f6 `/ j" z& @3 m
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-26 22:01 , Processed in 0.116753 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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