分类模型模块

Source:phpbone.com  Author:IT柏拉图
2013-11-25

分类模型模块提供了支持自己定义,无限级分类的管理方案,系统提供了相关的调用接口,可以视情况轻松进行调用。
操作界面如下所示:

管理模型

管理某模型的分类

系统为分类模型提供了如下的接口:

1、catalog_options 模板插件
用于获取一个模型的分类的选择框(插件只返回option并不返回select标签)
属性:
cmid   分类模型id(必须)
selid   当前选中的分类id,默认为 0
cats    分类数据数组(指定了cmid的情况下,这个一般不用指定)
dfname 默认option的说明,没指定时为“请选择分类”
例:
<select name='cid'>
<{#catalog_options cmid='3' selid=$v.cid dfname='--请选择--' }>
</select>
此外对于需要使用CURD创建默认表单的数据表,在字段注解里注明:@catalog-模型id@ 会自动生成这样的一个选择框。

2、mod_catalog  分类数据模型类常用成员函数介绍

(1) mod_catalog::get_catalogs( $cmid, $type='tree', $parent=-1 )
获取指定数据模型的所有分类
参数列表:
$cmid    模型id
$type     tree|ems    数据类型树状数据或普通元素列表(已按sortrank排序),其中树状数据只包含cid/cname/pid/sortrank 几个信息,ems(元素列表)则包含分类的所有字段信息。
$parent  父类id(-1表示全部),这个参数只对ems数据有效

(2) mod_catalog::get_one($cmid, $cid)
获取指定模型特定分类的信息

(3) mod_catalog::get_models( $cmid )
获得某个分类模型的信息

(4) mod_catalog::get_son_catids( $cmid, $cid )
获得某个分类所有子尖的id(包含当前分类)

(5)mod_catalog::get_son_node( $cmid, $cid )
获取某个分类指定分类的子元素树状数据

(6)mod_catalog::model_del( $cmid )
删除某数据模型(删除模型时,并不删除分类的数据,那样如果用户错误操作时,想办法还原这条模型信息就可以恢复)

(7)mod_catalog::catalog_del( $cids, $cmid )
删除指定的分类(包括下级子类)
参数 cids 为数组

(8)mod_catalog::model_cache_del()
删除分类模型缓存(读取分类模型时,实际是把所有分类模型信息一起读出来的,所以要删除也一起删除)

(9)mod_catalog::model_del( $cmid )
删除某个分类模型的分类数据缓存

(10)mod_catalog::get_parent_catalogs( $cmid, $cid )
获取指定分类的所有父分类数据(包含当前分类)


 

分享到: