iwebshop与阿里云OSS图片分离式插件帮助文档

站长手记 作者: 2024-09-03 06:50:01
iwebshop与阿里云OSS图片分离式插件帮助文档

注意事项:该文档针对 iwebshop 4.7 所写,不同版本略有不同,烦请各位不要直接照搬或可以咨询客服。

1、到阿里云申请开通购买<对象存储OSS>产品 https://www.aliyun.com/product/oss

2、申请成功后添加一个Bucket

3、复制本插件到plugins/目录下面

4、到商城后台插件列表,安装插件<8sk阿里云OSS图片分离式插件>

5、配置插件

5.1、 accessKeyIdaccessKeySecret配置

登陆阿里云控制台,鼠标移到右上角用户名,点击accessKeys进入创建。 https://ak-console.aliyun.com/#/accesskey

5.2、访问域名在阿里云控制台<对象存储OSS>Bucket属性中可见,如果配置了自定义二级域名则填写自定义的二级域名。例如oss-cn-hangzhou.aliyuncs.com

5.3、如果配置了自定义二级域名,是否CNAME 选择<>,如果没有配置则选择<>

5.4、bucket名称为你自己创建的bucket名称

5.5、后台将插件里填写相应配置并将状态选择开启。

6、商品详情页、文章详情、图片上传修改

修改/lib/web/js/source/editor/php/upload_json.php 110行,在 $file_url = $save_url . $new_file_name; 后面添加以下代码。

// 8sk阿里云OSS图片分离式插件
$oss_path = str_replace(IUrl::creatUrl(''),'',$file_url);
$ossfileName = plugin::trigger('uploadOss',$file_path,dirname($oss_path));
$file_url = $ossfileName ? $ossfileName : $file_url;

修改 classes/photoupload.php 文件

找到245

$fileName = $val['dir'].$val['name'];

后面添加如下代码

/*OSS_START*/
$oss_path = str_replace(IUrl::creatUrl(''),'',$fileName);
$ossfileName = plugin::trigger('uploadOss',$fileName,dirname($fileName));
$fileName = $ossfileName ? $ossfileName : $fileName;
/*OSS_END*/

7、产品图片:

修改views\sysdefault\goods\goods_edit.html 文件 268

<img name="picThumb" onclick="defaultImage(this);" style="margin:5px; opacity:1;width:100px;height:100px" src="{webroot:<%=picRoot%>}" alt="<%=picRoot%>" />
去掉{webroot: 改为
<img name="picThumb" onclick="defaultImage(this);" style="margin:5px; opacity:1;width:100px;height:100px" src="<%=picRoot%>" alt="<%=picRoot%>" />

8、首页幻灯片:

修改views\sysdefault\system\conf_base.html 文件 183

<img src="{url:}<%=img%>" width="150px" /><br />
去掉{url:}改为
<img src="<%=img%>" width="150px" /><br />

9、广告位附件上传:

修改views\sysdefault\tools\ad_edit.html 文件 116

<p><img src="{webroot:}<%=content%>" width="150px" /></p>
去掉{webroot:} 改为
<p><img src="<%=content%>" width="150px" /></p>
修改controllers\tools.php 文件 679
$content = $dir.'/'.$result[0]['name'];

后添加

$ossfileName = plugin::trigger('uploadOss',$content,dirname($content));
$content = $ossfileName ? $ossfileName : $content;


10、使用OSS缩略图:

修改 controllers\pic.php 文件 128

$width  = $widthData[1];
$height = $heightData[1];

后添加

if(false != strpos($imgSrc,"http://")){
$thumbSrc=$imgSrc.'?x-oss-process=image/resize,m_pad,w_'.$width.',h_'.$height;
$this->redirect($thumbSrc);
}

备注:iwebshop 测试中如果一直传一张图的话,iwebshop 保存到数据表里的 MD5 值是一样,所以在存表的时候他就不会会检测MD5是不是一样,一样的话就不会保存那张图也就可能会出现你上传的图没有上传到 OSS 上。记得清理缓存

原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_73442.html