面向对象的初衷,就是为了不要重复造轮子,所以我会不定期公开一些大家用得上,至少是开发的人用得上的model类或者system核心类【嗯,目前都是先发OC的,也只整理了一两个】。
针对程序
目前仅:opencart 1.5 ~ 2.3
类类型
model类
system核心
vqmod / ocmod 【虚拟化写入】
共享地址
http://git.oschina.net/yfore_com/sdtclass
类库说明
验证用户
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));
- }
需要参数:1个
用这个参数查询是否是当前用户的信息,上面是示例。其他方法参考示例使用。
图片剪切自动计算宽或高
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或数字。
PS:这个系统就有了,不过我改进了下,可以提取里面的代码也可以直接替换。也可以写成vqmod代码哇。
其他
后面继续更新。具体看GIT。
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助