1. 商品种类的无限极分类

    $data=db('goods_type')->field(['*','concat(path,",",id)'=>'paths'])->order('paths')->select();
    foreach($data as $k=>$v){
    $data[$k]['name']=str_repeat('|--',$v['level']).$v['name'];
    }

     

  2. ThinkPHP 5 中的公共函数调用问题:整个应用的公共函数放在\application\common.php中,某个模块的应用可以放在\application\模块名\common.php
  3. 无限分类之使用ajax获取分类数据
    1、product控制器中的方法
    public function product_category_ajax(){
    $data=db('goods_type')->field('id,pid,name')->select();
    echo json_encode($data); } 2、product_category模板中添加js代码
    var zNodes;
    $.ajax({
    url:"{:url('product_category_ajax')}",
    type:'get',
    dataType:'json',
    async: false,
    success:function(data){
    zNodes=data;
    console.log(data);
    }
    });

      效果如图:

  4. 无限分类之使用ajax获取分类数据

     //1、product控制器中的product_category_del方法
    public function product_category_del(){
    $id=$_GET['id'];
    $p_data=db('goods_type')->where('pid',$id)->find();
    if($p_data){
    $msg='分类下面还有子分类,不允许删除!';
    echo json_encode($msg);
    }else{
    if(db('goods_type')->delete($id)){
    echo 1;
    }else{
    $msg='分类删除失败!';
    echo json_encode($msg);
    }
    }
    }
    2、product_category模板中添加js代码
    callback: {
      beforeClick: function(treeId, treeNode) {
       $.ajax({
                 url:"{:url('product_category_del')}",
                 type:'get',
                 data:{id:treeNode.id},
                 dataType:'json',
                 async: false,
                 success:function(data){
                  if(data==1){
                   alert('分类删除成功!');
                   location.href="product_category";
                  }else{
                   alert(data);
                  }
                 } 
                });
      }
     }

      

    说明:
    视频教程的文件上传插件是Bootstrap fileinput,原模板文件用的是百度开发的WebUploder,但无论是哪种,我都弄不懂后台怎么获取上传的文件,一怒之下不玩了,有心情再研究吧

李忠益TP5商城项目笔记(待完成)的更多相关文章

  1. Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid

    Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid 上一步获取QQ登录网址之后,测试登录之后本该跳转到这个界面 但是报错了: 新建oauth_callback.html & ...

  2. Django商城项目笔记No.11用户部分-QQ登录1获取QQ登录网址

    Django商城项目笔记No.11用户部分-QQ登录 QQ登录,亦即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 若想实现QQ登录,需要成为QQ互联 ...

  3. Django商城项目笔记No.10用户部分-登录接口

    Django商城项目笔记No.10用户部分-登录接口 添加url路由 接下来第二步,增加返回内容: 增加结果如下: 配置:上边的方法定义了返回的内容都有哪些,那这个方法jwt还不知道,需要配置: 修改 ...

  4. Django商城项目笔记No.9用户部分-注册接口签发JWTtoken

    Django商城项目笔记No.9用户部分-注册接口签发JWTtoken 我们在验证完用户的身份后(检验用户名和密码),需要向用户签发JWT,在需要用到用户身份信息的时候,还需核验用户的JWT. 关于签 ...

  5. Django商城项目笔记No.8用户部分-注册接口实现

    Django商城项目笔记No.8用户部分-注册接口实现 users的view.py中增加如下代码 class RegisterUserView(CreateAPIView): "" ...

  6. Django商城项目笔记No.7用户部分-注册接口-判断用户名和手机号是否存在

    Django商城项目笔记No.7用户部分-注册接口-判断用户名和手机号是否存在 判断用户名是否存在 后端视图代码实现,在users/view.py里编写如下代码 class UsernameCount ...

  7. Django商城项目笔记No.6用户部分-注册接口-短信验证码实现celery异步

    Django商城项目笔记No.4用户部分-注册接口-短信验证码实现celery异步 接上一篇,如何解决前后端请求跨域问题? 首先想一下,为什么图片验证码请求的也是后端的api.meiduo.site: ...

  8. Django商城项目笔记No.5用户部分-注册接口-短信验证码

    Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...

  9. Django商城项目笔记No.4用户部分-注册接口-图片验证码

    Django商城项目笔记No.4用户部分-注册接口-图片验证码 1.首先分析注册业务接口 1.1.分析可得,至少这么几个接口 图片验证码 短信验证码 用户名是否存在 手机号是否存在 整体注册接口 图片 ...

随机推荐

  1. Mark下js最大精确整数范围,业务中出现的疑难bug

    今天在跟后端联调中,偶然发现几个数据的id居然一样,我就询问了下后端这是什么情况,然而后端告诉我说并没有相同的id,于是开始一起排查问题.   排查中发现,从后端拿来的数据在浏览器控制台NetWork ...

  2. [搬运]在C#使用.NET设计模式的新观点

    原文地址:http://www.dotnetcurry.com/dotnet/1092/dotnet-design-patterns 软件开发有许多设计模式.其中一些模式非常受欢迎.说几乎所有的模式都 ...

  3. BZOJ3237: [Ahoi2013]连通图

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3237 cdq分治+缩点. 可以每次处理的时候把除l~r之外的边的端点都连起来.然后去跑cdq分 ...

  4. android小说阅读源码、bilibili源码、MVP新闻源码等

    Android精选源码 一款基于 MVP+RxJava2+Retrofit2 的应用--熊猫眼 android 五子棋源码分享 android实现全国地图点击效果 android实现立体图案绘制的代码 ...

  5. nth-child()选择器小结

    之前也用到过nth-child,只是当时理解的不够透彻.今天回过头去看这个知识点时,发现了一个易错点. 浏览器支持情况: 所有主流浏览器都支持nth-child()选择器,除了IE8及更早的版本. 下 ...

  6. 使用Git将本地项目或代码上传到GitHub上

    1.要托管到github,那你就应该要有一个属于你自己的github帐号,所以你应该先到github.com注册.打开浏览器在地址栏输入地址:github.com 填写用户名.邮箱.密码,点击Sign ...

  7. Unity Instantiate各函数执行顺序

    GameObject go = Instantiate(aaa) ;        go.GetComponent<NewBehaviourScript>().Init(); Instan ...

  8. CentOS 6.*通过yum安装 MySQL-5.5

    转自https://www.cnblogs.com/wsl222000/p/5445768.html 1.安装mysql-5.5的yum源 rpm -ivh http://repo.mysql.com ...

  9. PHP中put和post区别

    1. 使用支持和范围的区别: PHP提供了对PUT方法的支持,在Http定义的与服务器的交互方法中,PUT是把消息本体中的消息发送到一个URL,形式上跟POST类似; PHP 提供对诸如 Netsca ...

  10. 学习javascript数据结构(四)——树

    前言 总括: 本文讲解了数据结构中的[树]的概念,尽可能通俗易懂的解释树这种数据结构的概念,使用javascript实现了树,如有纰漏,欢迎批评指正. 原文博客地址:学习javascript数据结构( ...