【前言】:discuz帖子列表页单调不好看?想变得丰富多彩?调用帖子内容多图怎么实现?今天就给大家分享一下如何实现帖子列表页调用帖子内容图片附件(多图,可设置调用图片数量)。
【帖子列表页调用帖子内容图片教程】
1、找到forum/forumdisplay_list.htm文件,打开并按照以下方法进行编辑;
2、打开forumdisplay_list.htm文件后,找到- <!--{loop $_G['forum_threadlist'] $key $thread}-->
复制代码 代码,在其下添加:
- <!--{eval $tbid = DB::result(DB::query("SELECT tableid FROM ".DB::table('forum_attachment')." WHERE `tid`= '$thread[tid]'"));}-->
- <!--{if $tbid}-->
- <!--{eval $picount = DB::fetch_all("SELECT aid FROM ".DB::table('forum_attachment_'.$tbid.'')." WHERE `tid`= '$thread[tid]' AND `isimage`=1;");}-->
- <!--{eval $picnum = count($picount);}-->
- <!--{if $picnum < 3}-->
- <!--{eval $litpicnum = '1';}-->
- <!--{elseif $picnum > 2 && $picnum < 6}-->
- <!--{eval $litpicnum = '3';}-->
- <!--{elseif $picnum > 5}-->
- <!--{eval $litpicnum = '6';}-->
- <!--{/if}-->
- <!--{eval $covers = DB::fetch_all("SELECT attachment,aid,description FROM ".DB::table('forum_attachment_'.$tbid.'')." WHERE `tid`= '$thread[tid]' AND `isimage`=1 LIMIT 0,$litpicnum;");}-->
- <!--{/if}-->
复制代码
3、在forumdisplay_list.htm中继续找到
- <!-- end of table "forum_G[fid]" branch 1/3 -->
复制代码
在这段代码上方找到最靠近的</tr>,在此之后添加:- <!--{if $tbid}-->
- <tr>
- <td></td>
- <td></td>
- <td colspan="4">
- <!--{loop $covers $thecover}-->
- <!--{if $litpicnum == 1}-->
- <a href="forum.php?mod=viewthread&tid=$thread[tid]" class="z pipe" title="$thecover[aid]"><img src="data/attachment/forum/$thecover['attachment']" width="100" height="100"/></a>
- <font class="z">This is what it is like to be with Trump.</font>
- <!--{else}-->
- <a href="forum.php?mod=viewthread&tid=$thread[tid]" class="z pipe" title="$thecover[aid]"><img src="data/attachment/forum/$thecover['attachment']" width="100" height="100"/></a>
- <!--{/if}-->
- <!--{/loop}-->
- </td>
- </tr>
- <!--{/if}-->
复制代码 4、继续找到:
- <!--{if !$thread['forumstick'] && ($thread['isgroup'] == 1 || $thread['fid'] != $_G['fid'])}-->
- <!--{if $thread['related_group'] == 0 && $thread['closed'] > 1}-->
- <!--{eval $thread[tid]=$thread[closed];}-->
- <!--{/if}-->
- <!--{if $groupnames[$thread[tid]]}-->
- <span class="fromg xg1"> [{lang from}: <a href="forum.php?mod=group&fid={$groupnames[$thread[tid]][fid]}" target="_blank" class="xg1">{$groupnames[$thread[tid]][name]}</a>]</span>
- <!--{/if}-->
- <!--{/if}-->
复制代码 在之后添加
- <!--{if $tbid && !$picnum == 0}--><span style="color:red;"><!--{$picnum}-->P</span><!--{/if}--></a>
复制代码
保存后完成!效果如下图所示。
【代码分析】:
1、上面介绍的代码中,有一段是设置图片显示数量的逻辑代码,如下:
- <!--{if $picnum < 3}-->
- <!--{eval $litpicnum = '1';}-->
- <!--{elseif $picnum > 2 && $picnum < 6}-->
- <!--{eval $litpicnum = '3';}-->
- <!--{elseif $picnum > 5}-->
- <!--{eval $litpicnum = '6';}-->
复制代码 意思是当内容中图片数量小于3时,显示1张图片;
当图片数量大于2小于6时,图片显示3张;
当图片数量大于5时,显示6张图片。大家可以按照需求进行修改。
2、代码中设置的图片长和宽都是100px,width="100" height="100"如果有需要可以按照自己的想法修改数值。
|
|