discuz门户文章列表页如何随机生成封面缩略图?-Discuz教程下载

discuz门户文章列表页如何随机生成封面缩略图?

开通本站Svip会员,全站资源免费下
当文章无图时显示随机图片,当然这随机图片需要存放在固定的位置。

方法如下:

1.在根目录下面source/module/portal里面找到portal_list.php文件,打开找到
  1.     if($value['pic']) {
  2.                $value['pic'] = pic_get($value['pic'], '', $value['thumb'], $value['remote'], 1, 1);
  3.     }
复制代码
意思是在$value[‘pic’]为true的情况下,获取文章中第一张图片作为封面。

替换为
  1.     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.     }
复制代码
其中:[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_1.jpg、cover_2.jpg、cover_3.jpg等。

还有更简单的方法,无需修改系统文件,直接在模板里改,找到:
  1. <!--{if $value[pic]}--><div class="atc"><a href="$article_url" target="_blank"><img src="$value[pic]" alt="$value[title]" class="tn" /></a></div><!--{/if}-->
复制代码
改为
  1. <!--{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}-->
复制代码

全部评论 0

您需要登录后才可以回帖 立即登录
登录
0
0
0
返回顶部