# 规则筛选器
# 规则筛选器
为了更加灵活扩展的设置一些规则定义,以及方便管理,主要体现在订单分组、分仓的规则设置中。
# 目录结构说明
路径:
app\omeauto\lib\auto\type 规则插件目录
文件:
abstract.php 插件抽象类,归整插件的展示渲染
interface.php 插件接口类,定义插件必须定义的方法
address.php 省级地区检查订单是否匹配插件
cod.php 识别是款到发货还是货到付款的订单插件
itemnum.php 识别订单内容中的商品总数量插件
money.php 识别订单总金额插件
platform.php 识别是否是来源平台的订单插件,比如:淘宝,京东,当当等等
shop.php 识别是否是具体店铺的订单插件
sku.php 识别订单是否是在指定时间范围内包含指定商品插件
skunum.php 识别订单内容中的商品种类数量插件
# 二次开发扩展
规则筛选器主要运用在订单分组,仓库分组的规则设置中
具体界面操作调用控制器app\omeauto\controller\order\type.php中的addrole方法
# Step 1
扩展的时候,我们需要在app\omeauto\view\order\type\addrole.html页面中增加一个插件的定义
<tr>
<th width="60"><label for="dom_el_bc">筛选条件:</label> </th>
<td >
<select name="type_id" id="type_id">
<option value="address" <{if $init.role=='address'}>selected<{/if}>>收货地址</option>
<option value="platform" <{if $init.role=='platform'}>selected<{/if}>>来源平台</option>
<option value="shop" <{if $init.role=='shop'}>selected<{/if}>>前端店铺</option>
<option value="cod" <{if $init.role=='cod'}>selected<{/if}>>付款方式</option>
<option value="money" <{if $init.role=='money'}>selected<{/if}>>订单金额</option>
<option value="sku" <{if $init.role=='sku'}>selected<{/if}>>活动订单</option>
<option value="skunum" <{if $init.role=='skunum'}>selected<{/if}>>商品种类数</option>
<option value="itemnum" <{if $init.role=='itemnum'}>selected<{/if}>>商品总数量</option>
<option value="weight" <{if $init.role=='weight'}>selected<{/if}>>商品总重量</option>
</select>
</td>
</tr>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Step 2
在app\omeauto\lib\auto\type目录下,添加具体的插件文件,定义如下方法:
checkParams 检查插件的配置参数是否合法
roleToString 将配置参数转换成UI可展示的文本形式展示内容
setRole 设置已经创建好的配置内容
vaild 具体插件检查数据的调用方法