利用discuz门户建站,尤其是列表页,会出现这样一个问题,就是文章页没有上传图片的话,列表页的前面是没有图片的,这个可能会影响整体的美观,所以有没有这种方法,即便文章页没有图片,在discuz列表页也能够自动生成一张图片呢?今天沭阳web就和大家分享以下:Discuz X 门户列表页文章中无图片时 随机选择一张图片作为封面教程【转】

修改前请注意备份,否则后果自负。

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

一、在根目录下面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的情况下)

二、对上面代码进行改造

 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的情况(文章中不存在图片)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源
在线客服
在线客服
旺旺客服