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

 找回密码
 立即注册
搜索

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

[复制链接]
ofshanghai 发表于 2016-11-8 09:43:22 | 显示全部楼层 |阅读模式
需求发布
金额范围: 10-50 元
预算金额: 10 元
开始时间: 2016-11-08
结束时间: 2016-11-08
联系方式: 隐藏内容
本帖最后由 ofshanghai 于 2016-11-9 11:31 编辑 : w. p% @) J- D9 T; i2 Q  I, \

6 N& J8 o3 A) ?! h# R7 B6 B
昨天在修改首页四格,搜索到的方法,发现是可以适用。故分享给大家,有需求的可以测试。
/ r9 l2 K" _" U$ v: _( o& E5 O
找到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">
    1 N; h8 Z8 J  y5 q$ a4 u4 H, y& i
  2. var slideSpeed = 5000;
    + `( e! w5 D- }% h6 u1 M
  3. var slideImgsize = [218,200]; 4 t" s( G9 S" l% A7 z- I6 w' X8 o
  4. var slideBorderColor = ‘{$_G['style']['specialborder']}’; : h% T: m! b" @8 o$ k+ x
  5. var slideBgColor = ‘{$_G['style']['commonbg']}’; ! T+ h( G/ m6 _8 k
  6. var slideImgs = new Array(); , z3 R7 n' a# J# i  Y( M0 }
  7. var slideImgLinks = new Array(); ; f6 g, U6 E, I% @6 |
  8. var slideImgTexts = new Array();
    3 X7 y/ G8 S6 r* o* ?1 ?
  9. var slideSwitchColor = ‘{$_G['style']['tabletext']}’;
    # F* d1 Z% g3 r  |& G
  10. var slideSwitchbgColor = ‘{$_G['style']['commonbg']}’;
    9 e% N) ]$ g6 ~  J+ K
  11. var slideSwitchHiColor = ‘{$_G['style']['specialborder']}’;
    % h0 E8 k2 b2 x3 g5 O) @( t
  12. {eval $k = 1;}
    . p- i* P9 e# O3 z4 ^
  13. <!–{loop $grids['slide'] $stid $svalue}–> & a+ e* r8 ?/ Y! q( r5 W
  14.     slideImgs[<!--{echo $k}-->] = ‘$svalue[image]‘;
    ( D9 U: o( C( O4 ~4 V
  15.     slideImgLinks[<!--{echo $k}-->] = ‘{$svalue[url]}’; - A: V& V, @0 d& p, F
  16.     slideImgTexts[<!--{echo $k}-->] = ‘$svalue[subject]‘;
    $ X* G2 P, ?9 n& d+ D7 B% m
  17.     {eval $k=5;}  这里应该有误,应该不需要修改,原文:{eval$k++<span style="line-height: 1.5;">;}</span>
复制代码

  1. $ J* I5 d0 l6 f9 O
  2. dota闪电站小猪告诉大家上面这样觉得是不行滴,请先在FTP中找到/public_html/source/module/forum/forum_index.php,找到并编辑
    1 i1 [& {8 h4 t" ~% @- |+ L
  3. * D9 e. e/ F3 ^  c
  4.         if($_G['setting']['grid']['gridtype']) { ; ?2 _6 R9 ~9 d% C- p
  5.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 10, $_G['setting']['grid']['fids']); % o, _; }  P  l! t
  6.         } else { # w  t! l  N' k9 f
  7.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(10); % j3 i' R. s( y/ B6 i! [2 y
  8.             foreach($images as $key => $value) { ; o1 E* u6 B' n6 N  Y& E( D
  9.                 $tids[$value['tid']] = $value['tid']; / l, L6 n' u& d; E# U
  10.             }
    * k& B: K+ \( i& m
  11.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids); 8 p' \, x7 D" @  L% B
  12.         }
复制代码
默认是10,不是所有的10需要调整,否则其他热门回复,最新主题展示数量也会改变展示数量。
  1. 修改成:
    6 H4 q; P) \8 K, s9 [
  2.         if($_G['setting']['grid']['gridtype']) {
    / ]' b' z1 @# j. K4 ^) m) z0 {
  3.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 8, $_G['setting']['grid']['fids']); $ I; h0 T* B2 a+ y& r& b' i. `- x
  4.         } else {
    1 ~' L- {% W8 j2 Q! \
  5.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(8);
    6 U7 w5 F8 u, h) a
  6.             foreach($images as $key => $value) { / o/ s" I$ O9 Y) P2 Q+ ]
  7.                 $tids[$value['tid']] = $value['tid']; ; U% v7 j% n9 D* z& L
  8.             }
    0 p% q3 q. _: J* w
  9.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids);
复制代码
应该只需要改2个数字,可以改为你需要展示的数量
欢迎交流,如有问题,欢迎留言。
$ V4 N9 E# m' u! H! I' v2 @

8 A4 n5 p$ J( r% \
原文参见: http://msn.shandian.biz/755.html

& U% s: p) r6 \
回复

使用道具 举报

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 编辑 ' {/ G( {  b" t& W4 z8 r  q
  1. 0 d- W5 P2 u4 r" d# c) s  ]
  2.                                                                 <div class="module cl slidebox_grid" style="width:280px;height:210px">
    3 |4 y8 o1 t! i; g! U0 V
  3.                                                                         <script type="text/javascript">: S) p3 L9 k8 [: E
  4.                                                                         var slideSpeed = 5000;
    - D3 h4 ]  e/ S2 b, @# A4 c
  5.                                                                         var slideImgsize = [280,210];
复制代码
template/default/forum/discuz.htm  中
# x8 _( ~# d: I; v4 g
1 q" J* N0 S! v2 R4 i4 `2 K* Jstyle="width:280px;height:210px这部分是限制图片宽度、高度;  z: T1 r. h+ f7 w* H# [" `
var slideImgsize = [280,210]这部分是滚动图片框高度(经测试,除了设置var slideImgsize 高度,宽度外;style中的宽度和高度,也要调整)5 ]  R- `" Q! W& s) T

* E7 E. v9 K4 J2 R
) l7 Z% b4 C" l1 v6 H否则会出现图片超出图片框高度。3 D* }& z7 a& o! R( X
* K6 V: n/ ?4 c- r$ A9 v% {
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-23 00:18 , Processed in 0.119039 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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