#sdtclass SDT技术网公开类,包括但不限于opencart等面向对象程序的一些小类库共享
暂时只公布opencart的若干个文件,其他文件等后续适当陆续公布。
sdtclass / opencart / upload / catalog / model / sdtclass / isme.php
opencart有一个缺陷,就是比如打开地址簿,上面的ID随意修改都可以进入任何页面。虽然如果不是用户本人的地址对应信息不会暴露。不过这样也不是很好。其他插件也遇到过类似的情况,如果某些作者开发的插件WHERE不够严谨,就会有漏洞啦。所以最好自己加下判断。下面是示例代码。适合新手。
//引入model
$this->load->model('sdtclass/isme');
$isme = $this->model_sdtclass_isme->getOrder($order_id);
if(!$isme) {
//判断如果不是用户自己的,则重定向到其他页面,这里自己决定重定向的页面
$this->response->redirect($this->url->link('common/home', '', true));
}
目前有 getOrder 和 getAddress 两个方法。以后陆续增加。
sdtclass / opencart / upload / system / library / image.php
oc自带的剪切图片必须声明宽度和高度两个,但是这样剪切有个缺点,就是会出现白底,如果想定义其中一个,然后就可以自动算另一个咋办呢?于是。。
用法:
//引入model
$this->load->model('tool/image');
//图片剪切
//宽度自动
$image = $this->model_tool_image->resize($image, 'auto',$height);
//高度自动
$image = $this->model_tool_image->resize($image, $width, 'auto');
需要参数3个,分别是:图片、宽度、高度,宽度和高度可以写auto或数字。
sdtclass / opencart / upload / catalog / controller / sdtclass / upload_image.php
OC自带的只能上传文件返回被重命名后的文件的路径并且文件袋后缀,而且存在upload里。所以并不好。而且还写入upload数据表。我这个处理后的是图片后缀,然后返回相对路径。
用法:
$.ajax({
url: 'index.php?route=sdtclass/upload_image',
type: 'post',
dataType: 'json',
data: new FormData($('#form-upload-image')[0]),
cache: false,
contentType: false,
processData: false,
/* beforeSend / complete / success / error */
});
返回数据:
数据类型:json
参数介绍:
error:有则上传错误,包含错误信息
success:有则上传成功,包含成功提示语。
code:上传后的图片路径,可以写入value,
注:如写入img标签请注意带上 image/ 路径或者自定义的图片路径,由于考虑兼容二开所以返回里不带这个路径。
Sign in for post a comment
Comments ( 0 )