php获取文章封面图片,Discuz!无图片文章中列表页自动提取图片随机选择一张作为封面 - 魔幻精灵の点滴记忆...

当Discuz! X3.2的文章没有图片时,可以通过修改portal_list.php文件,添加代码来实现无图片文章显示默认封面。通过判断文章是否有图片,如果没有则从预设的图片目录中随机选取一张作为封面。这种方法确保了列表页的美观和一致性。
摘要由CSDN通过智能技术生成

在门户列表页中,默认为党文章中包含有图片是选择第一张作为列表页上的封面。如下图:

2a20832a800863ad487c3a35d48b82e020190626003215.png

但是有时候为了美观与一致性需要在文章里面没有包含图片时,封面照样显示图片。那怎么办?

方法(Discuz!X3.2亲测可行):

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(该值为门户文章中第几篇文章)

为什么这样改呢?

默认模板目录default下面的portal里面的list.html文件中

$value[title]

复制代码

$value[title] 中的$value[pic]对应 $value['pic'] 

核心点:

1、source/plugin/forum_index/static/这个路径下面必须存在10张图片(当然,这个路径你可以根据自己需要改为其他的路径)

2、原先只针对if($value['pic']) 为true的情况。现在多添加了为false的情况(文章中不存在图片)

本文标签:这篇文章木有标签

版权声明:若无特殊注明,本文皆为《

魔幻精灵 》原创,转载请保留文章出处。

本文链接:Discuz!无图片文章中列表页自动提取图片随机选择一张作为封面 http://www.mhjl.cn/?post=149

正文到此结束

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值