
在门户列表页中,默认为党文章中包含有图片是选择第一张作为列表页上的封面。但是有时候为了美观与一致性需要在文章里面没有包含图片时,封面照样显示图片。那怎么办?
方法(Discuz!X3.2 X3.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(该值为门户文章中第几篇文章)
为什么这样改呢?
默认模板目录default下面的portal里面的list.html文件中
<!--{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. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容