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

 找回密码
 立即注册
搜索

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

[复制链接]
ofshanghai 发表于 2016-11-8 09:43:22 | 显示全部楼层 |阅读模式
需求发布
金额范围: 10-50 元
预算金额: 10 元
开始时间: 2016-11-08
结束时间: 2016-11-08
联系方式: 隐藏内容
本帖最后由 ofshanghai 于 2016-11-9 11:31 编辑
" O0 e. a1 f. |1 ^! R* Z4 }
8 ]+ [8 i9 [; _) |9 y" \
昨天在修改首页四格,搜索到的方法,发现是可以适用。故分享给大家,有需求的可以测试。

4 N. R( C+ d/ V' l) u
找到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">
    + ?9 r7 `2 o. a' a; T! K0 b
  2. var slideSpeed = 5000;
    + o3 f, t& [7 B! l
  3. var slideImgsize = [218,200];
    $ V0 B5 Z7 o4 z) f# O. G
  4. var slideBorderColor = ‘{$_G['style']['specialborder']}’;
    / B/ p! k) K$ K& g" x) {% I
  5. var slideBgColor = ‘{$_G['style']['commonbg']}’;
    6 c9 v3 d% a7 y/ H5 o- ~) C
  6. var slideImgs = new Array();
    / ^4 o% H7 y) f" K2 Z+ U) o
  7. var slideImgLinks = new Array(); / N, d/ w: o/ g- G; S
  8. var slideImgTexts = new Array();
    : g$ H8 r, F3 K$ ]7 e, I9 `
  9. var slideSwitchColor = ‘{$_G['style']['tabletext']}’;
    7 r( {6 h1 ~* O4 k; S8 F  H& d
  10. var slideSwitchbgColor = ‘{$_G['style']['commonbg']}’;
    + q5 E5 H- f* d4 B. g
  11. var slideSwitchHiColor = ‘{$_G['style']['specialborder']}’;
    3 B5 I# k6 k1 `7 {
  12. {eval $k = 1;}
    : ~$ _2 g# Z; V5 u) a9 \
  13. <!–{loop $grids['slide'] $stid $svalue}–> 6 C- [7 t4 n: s; l  W! q
  14.     slideImgs[<!--{echo $k}-->] = ‘$svalue[image]‘;
    6 H" V0 i- G% P3 o( Y1 p* g* ^; R
  15.     slideImgLinks[<!--{echo $k}-->] = ‘{$svalue[url]}’;
    6 ]7 A8 L# G) E2 M3 O- a. m
  16.     slideImgTexts[<!--{echo $k}-->] = ‘$svalue[subject]‘; - O/ P1 N1 Y/ l9 c# I
  17.     {eval $k=5;}  这里应该有误,应该不需要修改,原文:{eval$k++<span style="line-height: 1.5;">;}</span>
复制代码

  1. ) t2 A* i- j# _5 l$ S3 h
  2. dota闪电站小猪告诉大家上面这样觉得是不行滴,请先在FTP中找到/public_html/source/module/forum/forum_index.php,找到并编辑3 x0 z- t7 ^: `. U! j9 b9 m! _" g2 K

  3. 6 u6 c3 R& G1 p
  4.         if($_G['setting']['grid']['gridtype']) { & z9 t. q1 Z0 ^% o6 o- y# S( i
  5.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 10, $_G['setting']['grid']['fids']);
    5 d7 S! z* v8 \( [! x4 i
  6.         } else {
    ' R. a' L" E% s5 K* S0 q; _
  7.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(10);
    ; {0 x( S, L, D: p( b
  8.             foreach($images as $key => $value) {
    6 ]6 V1 M* ~7 D9 g$ c
  9.                 $tids[$value['tid']] = $value['tid'];
    ) V+ p1 {7 L" Z. P% h+ R
  10.             }
    7 q" r& n; I4 n
  11.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids);
    ; ?( x$ ^$ Z; q, O4 ^8 H& `
  12.         }
复制代码
默认是10,不是所有的10需要调整,否则其他热门回复,最新主题展示数量也会改变展示数量。
  1. 修改成: 0 m, p4 \; P* g; R
  2.         if($_G['setting']['grid']['gridtype']) {
    * r$ X( @6 ^; @- C8 @/ ?/ Z4 [& O
  3.             $grids['digest'] = C::t(‘forum_thread’)->fetch_all_for_guide(‘digest’, 0, array(), 3, 0, 0, 8, $_G['setting']['grid']['fids']);
    0 ]/ D0 H" `& @4 M" Q/ a# d
  4.         } else { 5 X5 Z/ l/ r7 Z- A5 K: M
  5.             $images = C::t(‘forum_threadimage’)->fetch_all_order_by_tid(8); 1 ~" a& M  p" x; }1 Y6 p
  6.             foreach($images as $key => $value) { + r1 x5 A% G: n9 e$ I# |' }
  7.                 $tids[$value['tid']] = $value['tid'];
    , |: _# j0 k' I+ T9 t
  8.             } 4 T% h# R; n5 K7 n
  9.             $grids['image'] = C::t(‘forum_thread’)->fetch_all_by_tid($tids);
复制代码
应该只需要改2个数字,可以改为你需要展示的数量
欢迎交流,如有问题,欢迎留言。
  ~! R0 W/ ^) R4 E
% I7 I9 R# n$ ~5 m
原文参见: http://msn.shandian.biz/755.html

; k" M% A" h2 U' B) ]3 K4 V
回复

使用道具 举报

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 编辑 - E3 D7 O1 a) ]  f3 z  N7 b2 f

  1. 7 T6 z# S+ o# B0 [7 v7 e
  2.                                                                 <div class="module cl slidebox_grid" style="width:280px;height:210px">
    0 e/ `8 N0 }, Y: h/ D6 M  o
  3.                                                                         <script type="text/javascript">
    # J5 a9 l' @5 q+ J! G! ~$ c
  4.                                                                         var slideSpeed = 5000;
    - \* X. d$ J1 N: L4 Z% d8 i9 G" U
  5.                                                                         var slideImgsize = [280,210];
复制代码
template/default/forum/discuz.htm  中8 k) V8 H# {5 z7 R0 U$ \

* T0 O3 Q. x1 r# n8 g3 Ustyle="width:280px;height:210px这部分是限制图片宽度、高度;
6 j1 C. d5 N9 I9 V3 s! ?+ Evar slideImgsize = [280,210]这部分是滚动图片框高度(经测试,除了设置var slideImgsize 高度,宽度外;style中的宽度和高度,也要调整)
0 s3 b6 y" `8 G5 N
. g8 n- r; P, ?/ o9 j- U* K* e9 |4 O: G* i
否则会出现图片超出图片框高度。7 |, b( f5 |0 X, G7 o% \

: Z" n# v, Q# F/ j5 ^
回复

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-13 01:39 , Processed in 0.114672 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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