快生活 - 生活常识大全

帖子列表页调用帖子图片附件


  本文最后由 丫头片子 于 2017-6-22 14:35 编辑
  准确的说应该是调用多图,如果是一张图,直接设置封面即可,就不需要费这劲了。
  网上也有方法,不过我不喜欢他们的方式。
  代码可以直接写在模板forumdisplay_list.htm里,有不同数量不同样式。
  以默认模板为例:
  打开模板forum/forumdisplay_list.htm,找到83行左右:
  <!--{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}-->
  再查找
  <!-- 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}-->
  再找到
  <!--{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>
  结束。
  具体的图片显示多少这里↓,<3显示1,>2且<6显示3,>5显示6。
  <!--{if $picnum < 3}-->
  <!--{eval $litpicnum = "1";}-->
  <!--{elseif $picnum > 2 && $picnum < 6}-->
  <!--{eval $litpicnum = "3";}-->
  <!--{elseif $picnum > 5}-->
  <!--{eval $litpicnum = "6";}-->
  <!--{/if}-->
  后面具体的样式是这段↓
  <!--{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}-->
  如果图片数量等于1,后面带个摘要。
  否则图片横排铺开。具体数量会按上面的显示。
  通常情况下,两种样式即可,1图和多图,即1图显示在左右,多图在下面铺开。
  如果多种样式,<!--{if $litpicnum == 数量}-->此数量时的表现形式</if>
  当然,这的数量$litpicnum是受上面的代码中与$picnum关系的限定。
  $picnum是实际总数量,$litpicnum是经过判断后允许显示的数量。
网站目录投稿:春儿