/**
     * 默认方法
     * @author jry <*****@*****.**>
     */
    public function index($cid)
    {
        //分类权限检测
        if (!D('UserGroup')->checkCategoryAuth($cid)) {
            $this->error('权限不足!');
        }
        //获取分类信息
        $category_info = D('Category')->find($cid);
        //获取该分类绑定文档模型的主要字段
        $document_type_object = D('DocumentType');
        $document_type = $document_type_object->find($category_info['doc_type']);
        $document_type_main_field = D('DocumentAttribute')->getFieldById($document_type['main_field'], 'name');
        //获取分类绑定模型定义的列表需要显示的字段
        $doc_type_list_field = explode(',', $document_type['list_field']);
        //获取文档字段
        $map = array();
        $map['status'] = array('eq', '1');
        $map['show'] = array('eq', '1');
        $map['id'] = array('in', $doc_type_list_field);
        //只获取列表定义的字段
        $map['doc_type'] = array('eq', $category_info['doc_type']);
        $attribute_list = D('DocumentAttribute')->where($map)->select();
        $attribute_list_search = D('DocumentAttribute')->where($map)->getField('name', true);
        //获取文档信息
        $map = array();
        $map['cid'] = $cid;
        $map['status'] = array('egt', 0);
        //搜索条件这里用了TP的复合查询
        //封装了一个新的查询条件$map_field,然后并入原来的查询条件$map之中,所以可以完成比较复杂的查询条件组装
        $keyword = I('keyword', '', 'string');
        if ($attribute_list_search && $keyword) {
            foreach ($attribute_list_search as $attribute) {
                $map_field[$attribute] = array('like', '%' . $keyword . '%');
                //搜索条件
            }
            $map_field['_logic'] = 'or';
            $map['_complex'] = $map_field;
        }
        //获取文档列表
        $document_list = D('Document')->getDocumentList($cid, C('ADMIN_PAGE_ROWS'), null, $map);
        $document_table = C('DB_PREFIX') . 'document_' . strtolower($document_type['name']);
        //分页
        $page = new \Common\Util\Page(D('Document')->where($map)->join($document_table . ' ON __DOCUMENT__.id = ' . $document_table . '.id')->count(), C('ADMIN_PAGE_ROWS'));
        //移动按钮属性
        $move_attr['title'] = '移 动';
        $move_attr['class'] = 'btn btn-info';
        $move_attr['onclick'] = 'move()';
        //构造移动文档所需内容
        $map = array();
        $map['status'] = array('eq', 1);
        $map['doc_type'] = array('eq', $category_info['doc_type']);
        //文档类型相同的分类才能移动
        $category_list = D('Category')->where($map)->select();
        $tree = new \Common\Util\Tree();
        $category_list = $tree->toFormatTree($category_list);
        //构造移动文档的目标分类列表
        $options = '';
        foreach ($category_list as $key => $val) {
            $options .= '<option value="' . $val['id'] . '">' . $val['title_show'] . '</option>';
        }
        //文档移动POST地址
        $move_url = U('Admin/Document/move');
        $extra_html = <<<EOF
        <div class="modal fade" id="moveModal">
            <div class="modal-dialog modal-sm">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">关闭</span></button>
                        <p class="modal-title">移动至</p>
                    </div>
                    <div class="modal-body">
                        <form action="{$move_url}" method="post" class="form">
                            <div class="form-group">
                                <select name="to_cid" class="form-control">{$options}</select>
                            </div>
                            <div class="form-group">
                                <input type="hidden" name="ids">
                                <input type="hidden" name="from_cid" value="{$cid}">
                                <button class="btn btn-primary btn-block submit ajax-post" type="submit" target-form="form">确 定</button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
        <script type="text/javascript">
            function move(){
                var ids = '';
                \$('input[name="ids[]"]:checked').each(function(){
                   ids += ',' + \$(this).val();
                });
                if(ids != ''){
                    ids = ids.substr(1);
                    \$('input[name="ids"]').val(ids);
                    \$('.modal-title').html('移动选中的的文章至:');
                    \$('#moveModal').modal('show', 'fit')
                }else{
                    \$.alertMessager('请选择需要移动的文章', 'danger');
                }
            }
        </script>
EOF;
        //使用Builder快速建立列表页面。
        $builder = new \Common\Builder\ListBuilder();
        $builder->setMetaTitle($category_info['title'])->addTopButton('self', array('title' => '<i class="fa fa-reply"></i> 返回分类', 'class' => 'btn btn-warning', 'onclick' => 'javascript:history.back(-1);return false;'))->addTopButton('addnew', array('href' => U('add', array('cid' => $cid))))->addTopButton('resume')->addTopButton('forbid')->addTopButton('recycle')->addTopButton('self', $move_attr)->setSearch('请输入ID/标题', U('index', array('cid' => $cid)))->addTableColumn('id', 'ID');
        //动态生成列表显示的字段
        foreach ($attribute_list as $attribute) {
            $builder->addTableColumn($attribute['name'], $attribute['title'], $attribute['type']);
        }
        //继续使用Builder快速建立列表页面
        $builder->addTableColumn('ctime', '发布时间', 'time')->addTableColumn('sort', '排序', 'text')->addTableColumn('status', '状态', 'status')->addTableColumn('right_button', '操作', 'btn')->setTableDataList($document_list)->setTableDataPage($page->show())->addRightButton('edit')->addRightButton('forbid')->addRightButton('recycle')->setExtraHtml($extra_html)->display();
    }
 /**
  * 单个微+插件主页
  * @param $name 插件名称
  * @author jry <*****@*****.**>
  */
 public function adminList($name, $tab = 1)
 {
     //获取插件实例
     $addon_class = get_addon_class($name);
     if (!class_exists($addon_class)) {
         $this->error('插件不存在');
     } else {
         $addon = new $addon_class();
     }
     //获取插件的$admin_list配置
     $admin_list = $addon->admin_list;
     $tab_list = array();
     foreach ($admin_list as $key => $val) {
         $tab_list[$key]['title'] = $val['title'];
         $tab_list[$key]['href'] = U('Home/Addon/adminList/name/' . $name . '/tab/' . $key);
     }
     $admin = $admin_list[$tab];
     $param = D('Addons://' . $name . '/' . $admin['model'] . '')->adminList;
     if ($param) {
         //搜索
         $keyword = (string) I('keyword');
         $condition = array('like', '%' . $keyword . '%');
         $map['id|' . $param['search_key']] = array($condition, $condition, '_multi' => true);
         //获取数据列表
         $data_list = M($param['model'])->page(!empty($_GET["p"]) ? $_GET["p"] : 1, C('ADMIN_PAGE_ROWS'))->where($map)->field(true)->order($param['order'])->select();
         $page = new \Common\Util\Page(M($param['model'])->where($map)->count(), C('ADMIN_PAGE_ROWS'));
         //使用Builder快速建立列表页面。
         $builder = new \Common\Builder\ListBuilder();
         $builder->setMetaTitle($addon->info['title'])->AddTopButton('addnew', array('href' => U('Home/Addon/adminAdd/name/' . $name . '/tab/' . $tab)))->AddTopButton('resume', array('model' => $param['model']))->AddTopButton('forbid', array('model' => $param['model']))->setSearch('请输入关键字', U('Home/Addon/adminList/name/' . $name, array('tab' => $tab)))->SetTabNav($tab_list, $tab)->setTableDataList($data_list)->setTableDataPage($page->show());
         //数据列表分页
         //根据插件的list_grid设置后台列表字段信息
         foreach ($param['list_grid'] as $key => $val) {
             $builder->addTableColumn($key, $val['title'], $val['type']);
         }
         //根据插件的right_button设置后台列表右侧按钮
         foreach ($param['right_button'] as $key => $val) {
             $builder->addRightButton('self', $val);
         }
         //定义编辑按钮
         $attr = array();
         $attr['title'] = '编辑';
         $attr['class'] = 'label label-info';
         $attr['href'] = U('Home/Addon/adminEdit', array('name' => $name, 'tab' => $tab, 'id' => '__data_id__'));
         //显示列表
         $builder->addTableColumn('right_button', '操作', 'btn')->addRightButton('self', $attr)->addRightButton('forbid', array('model' => $param['model']))->addRightButton('delete', array('model' => $param['model']))->setTemplate('_Builder/listbuilder_addon')->display();
     } else {
         $this->error('插件列表信息不正确');
     }
 }