<?php

# 定义几个常用的选项
$option = array
    (
    1 => '显示',
    2 => '不显示',
);

$comment = array
    (
    1 => '允许评论',
    2 => '不允许评论',
);

$cate = function () {
    $array = array(-1 => array('name' => '父级分类'));
    $cate = Dever::load('doc/cate-main');
    if ($cate) {
        $array += $cate;
    }
    return $array;
};
return array
    (
    # 表名
    'name' => 'cate',
    # 显示给用户看的名称
    'lang' => '分类',
    'order' => 10,
    # 数据结构
    'struct' => array
    (
        'id' => array
        (
            'type' => 'int-11',
            'name' => '分类ID',
            'default' => '',
            'desc' => '',
            'match' => 'is_numeric',
            //'search'    => 'order',
            'order' => 'desc',
            'list' => true,
        ),

        'name' => array
        (
            'type' => 'varchar-60',
            'name' => '分类名称',
            'default' => '',
            'desc' => '请输入分类名称',
            'match' => 'is_string',
            'update' => 'text',
            'search' => 'fulltext',
            'list' => true,
        ),

        'cate_id' => array
        (
            'type' => 'int-11',
            'name' => '上级分类',
            'default' => Dever::input('option_cate_id', -1),
            'desc' => '请选择上级分类',
            'match' => 'is_numeric',
            'update' => 'select',
            'search' => 'order,select',
            'option' => $cate,
        ),

        'pic' => array
        (
            'type' => 'varchar-150',
            'name' => '分类图片-选填，大小为150X150px',
            'default' => '',
            'desc' => '请选择分类图片',
            'match' => 'option',
            'update' => 'image',
            'key' => '1',
            'place' => '150',
        ),

        'info' => array
        (
            'type' => 'varchar-500',
            'name' => '分类介绍-选填,字数不超过500字，出现分类头部，如果想清空该介绍，请输入null。',
            'default' => '',
            'desc' => '请输入分类介绍',
            'match' => 'option',
            'update' => 'editor',
        ),

        'link' => array
        (
            'type' => 'varchar-150',
            'name' => '分类链接-选填,如果填写了链接,则点击本分类直接跳转至本链接。',
            'default' => '',
            'desc' => '请输入分类链接',
            'match' => 'option',
            'update' => 'text',
        ),

        'reorder' => array
        (
            'type' => 'int-11',
            'name' => '排序(数值越大越靠前)',
            'default' => '1',
            'desc' => '请输入排序',
            'match' => 'option',
            'update' => 'text',
            'search' => 'order',
            'list_name' => '排序',
            'list' => true,
            'order' => 'desc',
            'edit' => true,
        ),

        'comment' => array
        (
            'type' => 'tinyint-1',
            'name' => '是否允许评论',
            'default' => '1',
            'desc' => '请选择是否允许评论',
            'match' => 'is_numeric',
            'option' => $comment,
            //'update'    => 'radio',
            //'list'        => true,
            //'edit'        => true,
        ),

        'state' => array
        (
            'type' => 'tinyint-1',
            'name' => '状态',
            'default' => '1',
            'desc' => '请选择状态',
            'match' => 'is_numeric',
            'option' => $option,
            'update' => 'radio',
            'list' => true,
        ),

        'cdate' => array
        (
            'type' => 'int-11',
            'name' => '录入时间',
            'match' => array('is_numeric', time()),
            'desc' => '',
            # 只有insert时才生效
            'insert' => true,
            'list' => 'date("Y-m-d H:i:s", {cdate})',
        ),
    ),

    'manage' => array
    (
        # 列表页的类型
        'list_type' => 'parent',

        'list_button' => array
        (
            'add' => array('新增子分类', '"cate&option_cate_id={id}&oper_parent=cate"', '{cate_id}<=0'),
            //6 => '删除'
        ),
    ),

    # request 请求接口定义
    'request' => array
    (
        # info 取一条正常的数据
        'info' => array
        (
            'where' => array
            (
                'id' => 'is_numeric',
                'state' => 1,
            ),
            'type' => 'one',
        ),

        'link' => array
        (
            'where' => array
            (
                'link' => 'is_string',
                'state' => 1,
            ),
            'type' => 'one',
        ),

        # main 取所有主分类
        'main' => array
        (
            'where' => array
            (
                'cate_id' => -1,
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder` desc,`id', 'desc'),
            'col' => '*|id',
        ),

        # 取所有下级分类
        'child' => array
        (
            'where' => array
            (
                'cate_id' => array('1', '>='),
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder` desc,`id', 'desc'),
            'col' => '*|cate_id|id|',
        ),

        # main 取所有主分类
        'mainAll' => array
        (
            'where' => array
            (
                'cate_id' => -1,
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder` desc,`id', 'desc'),
            'col' => '*|id',
        ),

        # 取所有下级分类
        'childAll' => array
        (
            'where' => array
            (
                'cate_id' => array('1', '>='),
                'state' => 1,
            ),
            'type' => 'all',
            'order' => array('reorder` desc,`id', 'desc'),
            'col' => '*|cate_id|id|',
        ),
    ),
);
