Discuz!门户列表页,文章中无图片时,随机选择一张作为封

时间:2021-05-02

修改前请注意备份,否则后果自负。
方法(Discuz!X3.2、3.4亲测可行):
1、在根目录下面source\module\portal里面找到portal_list.php文件。打开
127-129行代码为:
if($value['pic']) { $value['pic'] = pic_get($value['pic'], '', $value['thumb'], $value['remote'], 1, 1);}复制代码
含义也就是,获取文章中第一张图片作为封面(是在$value['pic']为true的情况下)
2、对上面代码进行改造
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';}复制代码
关键:$value['pic'] = 'source/plugin/forum_index/static/cover_'.($value[aid]%10).'.gif'; 这一行代码。
含义:在文章不包含图片时,即$value['pic']为false时。从source/plugin/forum_index/static/下面存在的10张图片中随机选取一张作为封面
$value[aid]中aid为portal_article_title表中该文章的aid(该值为门户文章中第几篇文章)
<!--{if $value[pic]}--><div class="atc"><a href="$article_url" target="_blank"><img src="$value[pic]" alt="$value[title]" class="tn" /></a></div><!--{/if}--><img src="$value[pic]" alt="$value[title]" class="tn" /> 中的$value[pic]对应 $value['pic']
核心点:
1、source/plugin/forum_index/static/这个路径下面必须存在10张图片(当然,这个路径你可以根据自己需要改为其他的路径)
2、原先只针对if($value['pic']) 为true的情况。现在多添加了为false的情况(文章中不存在图片)

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章