订阅邮件
快捷导航

discuz! 门户列表页随机封面缩略图

[复制链接]
查看: 3050|回复: 0
发表于 2017-8-13 13:40:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转合天下互动社区。

您需要 登录 才可以下载或查看,没有帐号?中文注册

x
当文章无图时显示随机图片,当然这随机图片需要存放在固定的位置。


方法如下:
1.在根目录下面source/module/portal里面找到portal_list.php文件,打开找到
  1. <font size="3">  if($value['pic']) {
  2.                $value['pic'] = pic_get($value['pic'], '', $value['thumb'], $value['remote'], 1, 1);
  3.     }</font>
复制代码
意思是在$value['pic']为true的情况下,获取文章中第一张图片作为封面。
替换为
  1. <font size="3">    if($value['pic']) {
  2.                $value['pic'] = pic_get($value['pic'], '', $value['thumb'], $value['remote'], 1, 1);
  3.     }else{
  4.                $value['pic'] = 'static/ranimg/cover_'.($value[aid]%10).'.jpg';
  5.     }</font>
复制代码
其中:[the]$value['pic'] = 'static/ranimg/cover_'.($value[aid]%10).'.jpg';[/the]
意为:在文章不包含图片时,即$value['pic']为false时。从static/ranimg/下面存在的10张图片中随机选取一张作为封面,$value[aid]中aid为portal_article_title表中该文章的aid(该值为门户文章中第几篇文章)。

主要代码改完后注意两点:
1.根目录下static/ranimg/下必须有10张图,后缀为.jpg。
2.图片命名cover_'.($value[aid]%10).'.jpg,其实就是cover_数字.jpg,如cover_0.jpg、cover_1.jpg、cover_2.jpg等,注意:从0开始。
OK。


20170106 更新
还有更简单的方法,无需修改系统文件,直接在模板里改,找到:
  1. <font size="3"><!--{if $value[pic]}--><div class="atc"><a href="$article_url" target="_blank"><img src="$value[pic]" alt="$value[title]" class="tn" /></a></div><!--{/if}-->
  2. </font>
复制代码
改为
  1. <font size="3"><!--{if $value[pic]}-->
  2. <div class="atc"><a href="$article_url" target="_blank"><img src="$value[pic]" alt="$value[title]" class="tn" /></a></div>
  3. <!--{else}-->
  4. <!--{eval $picname = rand(1,10);}-->
  5. <div class="atc"><a href="$article_url"
  6. target="_blank"><img src="static/ranimg/cover_{$picname}.jpg" alt="$value[title]"
  7. class="tn" /></a></div>
  8. <!--{/if}--></font>
复制代码



维卡官网:www.onelife.eu
您需要登录后才可以回帖 登录 | 中文注册

本版积分规则

精彩推荐
Copyright   ©2018-2020  One生态中文学习网  Powered by©onelife     豫ICP备12023128号 豫公网安备41010302002471号