一个资源分享、信息整合的综合性站点。

标题: discuz门户列表页文章中无图片时,随机选择一张作为封面 [打印本页]

作者: 树苗收集系    时间: 2019-11-23 20:05
标题: discuz门户列表页文章中无图片时,随机选择一张作为封面
[color=#000][font="]分享一个给门户加封面的方法,对于有强迫症的亲们是个不错的选择,以下为个人站点效果图。[/font][/color]

[attach]970[/attach]

[color=#ff0000]修改前请注意备份[/color]

方法(discuz!X3.2、3.4亲测可行):
1、在根目录下面source\module\portal里面找到portal_list.php文件。打开
127-129行代码为

[code]javascript:;    if($value['pic']) {
               $value['pic'] = pic_get($value['pic'], '', $value['thumb'], $value['remote'], 1, 1);
    }
[/code][color=#000][font="]含义也就是,获取文章中第一张图片作为封面(是在$value['pic']为true的情况下)[/font][/color]

[color=#000][font="]2、对上面代码进行改造[/font][/color]
[code]if($value['pic']) {
           $value['pic'] = pic_get($value['pic'], '', $value['thumb'], $value['remote'], 1, 1);
}else{
           $value['pic'] = 'source/plugin/forum_index/static/cover_'.($value[aid]%10).'.gif';
}
[/code][color=#000][font="]关键:$value['pic'] = 'source/plugin/forum_index/static/cover_'.($value[aid]%10).'.gif';   这一行代码。[/font][/color]
[color=#000][font="]含义:在文章不包含图片时,即$value['pic']为false时。从source/plugin/forum_index/static/下面存在的10张图片中随机选取一张作为封面[/font][/color]
[color=#000][font="]$value[aid]中aid为portal_article_title表中该文章的aid(该值为门户文章中第几篇文章)[/font][/color]
[code]<!--{if $value[pic]}--><div class="atc"><a href="$article_url" target="_blank"><img src="$value[pic]" alt="$value[title]" class="tn" /></a></div><!--{/if}-->
[/code][color=#000][font=&quot;]<img src="$value[pic]" alt="$value[title]" class="tn" /> 中的$value[pic]对应 $value['pic'] [/font][/color]

[color=#000][font=&quot;]
[/font][/color]
[color=#000][font=&quot;]核心点:[/font][/color]
[color=#000][font=&quot;]1、source/plugin/forum_index/static/这个路径下面必须存在10张图片(当然,这个路径你可以根据自己需要改为其他的路径)[/font][/color]
[color=#000][font=&quot;]2、原先只针对  if($value['pic']) 为true的情况。现在多添加了为false的情况(文章中不存在图片)[/font][/color]

作者: 我是月亮无太阳    时间: 2020-2-25 07:59
藕是来打酱油滴...




欢迎光临 一个资源分享、信息整合的综合性站点。 (https://www.sorv.cn/) Powered by Discuz! X3.4