加入收藏 | 设为首页 | 会员中心 | 我要投稿 承德站长网 (https://www.0314zz.com.cn/)- 云开发、边缘计算、数据分析、视频终端、人体识别!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

thinkphp无限分类模块实现

发布时间:2022-08-02 13:54:53 所属栏目:PHP教程 来源:互联网
导读:控制器核心代码: 复制代码 ?php namespace appindexcontroller; use thinkController; class Goods extends Controller { public function product_category() { return $this-fetch(); } public function product_category_add() { $m = Model(goods_ty
  控制器核心代码:
 
  复制代码
  <?php
  namespace appindexcontroller;
  use thinkController;
 
  class Goods extends Controller
  {
      public function product_category()
      {
 
          return $this->fetch();
      }
 
      public function product_category_add()
      {
          $m = Model('goods_type');
          // 根据paths进行排序
          // 对,进行转义,因为本身是作为分隔符使用
          $data = $m->field("*,concat(path,',',id) as paths")->order('paths')->select();
          foreach($data as $k=>$v){
              //根据level的值,决定需要循环几次,生成分割线
              $v['name'] = str_repeat("|------", $v['level']).$v['name'];
          }
          $this->assign('data', $data);
 
          return $this->fetch();
      }
 
      //添加分类
      public function goods_type_add(){
          if($_POST['name'] === ''){
              echo '<script>alert("添加失败,分类名不能为空");parent.location.href="product_category";</script>';
          }
 
          //var_dump($_POST);
          $data['name'] = $_POST['name'];
          $data['pid'] = $_POST['pid'];
          $m = Model('goods_type');
 
          if($data['pid'] === "0"){
              //如果是一级分类
              $data['level'] = 1;
              //新增分类的id
              $info = $m->where('1=1')->order('id desc')->find();
              $newId = $info['id']+1;
              $data['path'] = '0,'.$newId;
          }else{
              $pinfo = $m->field('path,level')->where('id',$data['pid'])->select();
              //查找父分类的path和level
              $data['level'] = $pinfo[0]['level']+1;
 
              //新增分类的id
              $info = $m->where('1=1')->order('id desc')->find();
              $newId = $info['id']+1;
              $data['path'] = $pinfo[0]['path'].','.$newId;
          }
 
          $res = $m->data($data)->save();
          if($res){
              echo '<script>alert("添加成功");parent.location.href="product_category";</script>';
          }else{
              echo '<script>alert("添加失败");parent.location.href="product_category";</script>';
          }
      }
 
      //获取分类数据
      public function product_category_ajax(){
          $m = model('goods_type');
          $data = $m->field('id,pid,name')->select();
          echo json_encode($data);
      }
 
      //删除分类数据
      public function product_category_del(){
          $id = $_GET['id'];
          $m = model('goods_type');
          $res = $m->where('pid',$id)->find();
          if($res){
              $str = '该分类下还有子分类,不允许直接删除';
              echo json_encode($str);
          }else{
              $result = $m->where('id',$id)->delete();
              if($result){
                  echo 1;
              }else{
                  $str = '删除失败';
                  echo json_encode($str);
              }
          }
      }
  }
  复制代码

(编辑:承德站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读