优定义网

discuz X3.4的门户文章列表页本地+外链多图

尤致远 发表于 2018-5-25 18:32:44 | 显示全部楼层 |阅读模式

之前有写过很多相似的,我是每次用都不同,所以每次都记录一下。

这次希望达到的效果:

如果本站上传小于3张图,显示1张。

如果本站上传大于3张图,显示4张。

如果没有上传图片但有外链图片小于3张,显示1张。

如果没有上传图片但有外链图片大于3张,显示4张。

远程附件的判断没加,算到外部图片吧。

大概就是这个意思,

1.jpg

刚刚有点效果,有无bug还不清楚。

在门户列表页模板里找到

  1. <!--{loop $list['list'] $value}-->
  2. <!--{eval $highlight = article_title_style($value);}-->
  3. <!--{eval $article_url = fetch_article_url($value);}-->
复制代码

在它下面加上

  1. <!--{eval $article_pic_num=DB::result_first("SELECT count(attachid) FROM ".DB::table("portal_attachment")." WHERE `aid`='$value[aid]'");}-->
  2. <!--{if $article_pic_num > 0 && $article_pic_num < 4}-->
  3. <!--{eval $pic_limit = '1';}-->
  4. <!--{elseif $article_pic_num > 3 && $article_pic_num < 8}-->
  5. <!--{eval $pic_limit = '4';}-->
  6. <!--{elseif $article_pic_num > 7}-->
  7. <!--{eval $pic_limit = '4';}-->
  8. <!--{/if}-->
  9. <!--{if $article_pic_num > 0}-->
  10. <!--{eval $article_pic_list=DB::fetch_all("SELECT attachment,attachid,filename FROM ".DB::table("portal_attachment")." WHERE `aid`='$value[aid]' ORDER BY `attachid` DESC LIMIT 0,$pic_limit;");}-->
  11. <!--{/if}-->
  12. <!--{eval $article_all=DB::result_first("select content from ".DB::table("portal_article_content")." where aid='$value[aid]'");}-->
  13. <!--{eval preg_match_all("/<[img|IMG].*?src=[\'|"](.*?(?:[\.gif|\.jpg|\.png]))[\'|"].*?[\/]?>/", $article_all, $ex_pic);}-->
  14. <!--{eval $ex_pic_num = count($ex_pic[1]);}-->
  15. <!--{if $ex_pic_num > 0 && $ex_pic_num < 4}-->
  16. <!--{eval $ex_pic_num = '1';}-->
  17. <!--{elseif $ex_pic_num > 3}-->
  18. <!--{eval $ex_pic_num = '4';}-->
  19. <!--{/if}-->
  20. <div class="article_loop {if $pic_limit == 4}pic_4{/if} cl">
  21.         <!--{if $pic_limit == 1}-->
  22.         <div class="content_body">
  23.                 <a href="$article_url" title="$value[title]"><img src="$value[pic]" alt="$value[title]"></a>        
  24.         </div>
  25.         <!--{elseif $ex_pic_num == 1 && $pic_limit == 0}-->
  26.         <div class="content_body">
  27.                 <a href="$article_url" title="$value[title]"><img src="$ex_pic[1][0]" alt="$value[title]"></a>        
  28.         </div>
  29.         <!--{/if}-->
  30.         <div class="content_infor">
  31.         <h2><a href="$article_url" target="_blank" class="xi2" $highlight>$value[title]</a> <!--{if $value[status] == 1}-->({lang moderate_need})<!--{/if}--></h2>
  32.         <!--{if $pic_limit > 3}-->
  33.         <div class="more_pic cl">
  34.                 <!--{loop $article_pic_list $picvalue}-->
  35.                 <a href="portal.php?mod=view&aid={$value['aid']}#{$picvalue['attachid']}" title="" target="" class="success"><img src="data/attachment/portal/{$picvalue['attachment']}" alt="{$picvalue['filename']}"></a>
  36.                 <!--{/loop}-->
  37.         </div>
  38.         <!--{elseif $ex_pic_num > 3 && $pic_limit == 0}-->
  39.         <!--{eval $i=1;}-->
  40.         <div class="more_pic cl">
  41.                 <!--{loop $ex_pic[1] $ex_picvalue}-->
  42.                 <!--{if $i<5}-->
  43.                 <a href="portal.php?mod=view&aid={$value['aid']}" title="" target="" class="success"><img src="{$ex_picvalue}" alt=""></a>
  44.                 <!--{/if}-->
  45.                 <!--{eval $i++;}-->
  46.                 <!--{/loop}-->
  47.         </div>
  48.         <!--{/if}-->
  49.         <span class="time"><i class="fa fa-clock-o fa-fw"></i>{$value[dateline]}</span>
  50.         <span class="pipe"></span>
  51.         <span class="views"><i class="fa fa-eye fa-fw"></i>{$value[viewnum]}</span>
  52.         <span class="pipe"></span>
  53.         <span class="reply"><i class="fa fa-comment-o fa-fw"></i>{$value[commentnum]}</span>
  54.         <p>$value[summary]......</p>
  55. </div>
  56. </div>
复制代码

上面有两处数字有点问题的,一个是pic_limit判断两次等于4,是因为我模板显示8张图不好看,否则下面的4应该是8。改成8之后,下面的外链图片数量判断也要改。

很多代码可以写在一起,为了方便看逻辑分开写了。

回复

使用道具 举报

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

本版积分规则

精华推荐
  • 一个人开始废掉的3种迹象

    一个人开始废掉的3种迹象

  • 从零到60秒的惬意冰镇啤酒

    从零到60秒的惬意冰镇啤酒

  • 马云、马化腾、王石都弃之不用的人,有一个共同点

    马云、马化腾、王石都弃之不用的人,有一个

  • 哥特式高迪凳子

    哥特式高迪凳子

  • 千亿小米,雷军逆袭

    千亿小米,雷军逆袭

  • 她一战赚了几十亿,她说:世界上最好的生意有三种

    她一战赚了几十亿,她说:世界上最好的生意有

  • 雷军:合伙人比制度更重要!

    雷军:合伙人比制度更重要!

  • 一个美美的令人喜欢的自行车铃

    一个美美的令人喜欢的自行车铃

QQ客服热线
QQ:1090281100 周一至周日:09:00 - 21:00
WeChat:dianlingkeji
Email:kaixin1069@vip.qq.com

优定义logo

勿要吝啬你无形资产,请为创新续源,知识、点子、灵感、经验、需求等均是创新源泉,你不经意的一句话将是另一个人的灵感。明天的明天,还有明天,我们应该把握今天,每一个今天,都有一个新的事物在出现,今天的漠视明天的落后,不浪费每一个学习的时刻,学习助力非凡。

技术支持 Discuz! X3.4 - 3.5 beta © 2001-2018 Comsenz Inc.

小黑屋|手机版|优定义 ( 粤ICP备16085288号-2 )|申请友链|网站地图

粤公网安备 44011102001144 号 GMT+8, 2018-6-20 19:27 , Processed in 0.092904 second(s), 29 queries .

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