discuzdiy图片模块_WBB - Discuz – 远程附件设置后,DIY模块图片无法显示解决方法...

远程附件设置和搬移方法不再赘述。网上有很多。

远程附件开启后,diy模块里的图片依然显示本地路径所以直接打叉,必须手动更新才能显示。

官方就丢了一句会反馈了事,网上也找不到解决方案,只好自行研究。

首先要明白,common_block_item表就是记录diy模块数据的。

picflag=2意味着图片远程,=1意味着本地。

这个picflag,系统抓取时会从att表直接拿,但att表里,1是远程,0才是本地。

于是蛋疼的事情就出现了。

修改/source/function/function_block.php文件,找到if(empty($ftp) || empty($ftp->connectid)) {,以下部分是判断缩略图是否已经生成的。

if($ftp->ftp_size($thumbpath) > 0) {

$curitem['makethumb'] = 1;

$curitem['picflag'] = 2;

}

1

2

3

4

if($ftp->ftp_size($thumbpath)>0){

$curitem['makethumb']=1;

$curitem['picflag']=2;

}

遗憾的是官方到此为止,因此若缩略图未来得及生成的情况下,picflag永远不会变成2。

解决方法很简单:

if($ftp->ftp_size($thumbpath) > 0) {//缩略图存在

$curitem['makethumb'] = 1;

$curitem['picflag'] = 2;

}else{//缩略图不存在

$curitem['makethumb'] = 0;

$curitem['picflag'] = 2;

}

1

2

3

4

5

6

7

if($ftp->ftp_size($thumbpath)>0){//缩略图存在

$curitem['makethumb']=1;

$curitem['picflag']=2;

}else{//缩略图不存在

$curitem['makethumb']=0;

$curitem['picflag']=2;

}

加一个else判断完事。同时,makethumb=0时,才会促使系统生成缩略图,discuz把这些数字搞得真心好乱。都不想说。

这样改好之后,基本就不会再出现问题了。

喜欢 (4)or分享 (0)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值