删除分类

删除一个分类的同时,其所有子分类都删除

在控制器CategoryCtroller.class.php中添加删除函数(delete)

PHP.35-TP框架商城应用实例-后台11-商品分类-删除分类(2种方法)、添加、修改

在分类模型中添加钩子函数_before_delete()【注:此处要使用父类模型执行delete函数,防止进入死循环;父类模型要指定操作的数据表】

PHP.35-TP框架商城应用实例-后台11-商品分类-删除分类(2种方法)、添加、修改

构造批量删除参数

思路:先观察批量删除时的传参结构,然后在钩子函数_befeore_delete()中构造出批量删除的id数组

PHP.35-TP框架商城应用实例-后台11-商品分类-删除分类(2种方法)、添加、修改

PHP.35-TP框架商城应用实例-后台11-商品分类-删除分类(2种方法)、添加、修改

构造批量删除【注:$option要按引用传参,否则函数内对局部变量的值的修改,不能影响函数外的变量

PHP.35-TP框架商城应用实例-后台11-商品分类-删除分类(2种方法)、添加、修改

添加分类【控制器-》页面】

1、在控制器CategoryController.class.php/add()中取出所有分类

PHP.35-TP框架商城应用实例-后台11-商品分类-删除分类(2种方法)、添加、修改

public function getTree()
        {
            $data = $this->select();
            return $this->_getTree($data);
        }
        /*****递归从数据中找子分类*****/
        private function _getTree($data, $parent_id=0, $level=0)
        {
            static $_ret = array();                
            foreach ($data as $k => $v)
            {
                if($v['parent_id'] == $parent_id)
                {
                    $v['level'] = $level;        //用来标记这个分类是第几级
                    $_ret[] = $v;
                    //找子分类
                    $this->_getTree($data, $v['id'], $level+1);
                }
            }
            return $_ret;
        }
getTree()

相关文章: