李忠益TP5商城项目笔记(待完成)
- 商品种类的无限极分类
$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'];
} - ThinkPHP 5 中的公共函数调用问题:整个应用的公共函数放在
\application\common.php
中,某个模块的应用可以放在\application\模块名\common.php
中 - 无限分类之使用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);
}
});效果如图:
无限分类之使用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商城项目笔记(待完成)的更多相关文章
- Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid
Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid 上一步获取QQ登录网址之后,测试登录之后本该跳转到这个界面 但是报错了: 新建oauth_callback.html & ...
- Django商城项目笔记No.11用户部分-QQ登录1获取QQ登录网址
Django商城项目笔记No.11用户部分-QQ登录 QQ登录,亦即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 若想实现QQ登录,需要成为QQ互联 ...
- Django商城项目笔记No.10用户部分-登录接口
Django商城项目笔记No.10用户部分-登录接口 添加url路由 接下来第二步,增加返回内容: 增加结果如下: 配置:上边的方法定义了返回的内容都有哪些,那这个方法jwt还不知道,需要配置: 修改 ...
- Django商城项目笔记No.9用户部分-注册接口签发JWTtoken
Django商城项目笔记No.9用户部分-注册接口签发JWTtoken 我们在验证完用户的身份后(检验用户名和密码),需要向用户签发JWT,在需要用到用户身份信息的时候,还需核验用户的JWT. 关于签 ...
- Django商城项目笔记No.8用户部分-注册接口实现
Django商城项目笔记No.8用户部分-注册接口实现 users的view.py中增加如下代码 class RegisterUserView(CreateAPIView): "" ...
- Django商城项目笔记No.7用户部分-注册接口-判断用户名和手机号是否存在
Django商城项目笔记No.7用户部分-注册接口-判断用户名和手机号是否存在 判断用户名是否存在 后端视图代码实现,在users/view.py里编写如下代码 class UsernameCount ...
- Django商城项目笔记No.6用户部分-注册接口-短信验证码实现celery异步
Django商城项目笔记No.4用户部分-注册接口-短信验证码实现celery异步 接上一篇,如何解决前后端请求跨域问题? 首先想一下,为什么图片验证码请求的也是后端的api.meiduo.site: ...
- Django商城项目笔记No.5用户部分-注册接口-短信验证码
Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...
- Django商城项目笔记No.4用户部分-注册接口-图片验证码
Django商城项目笔记No.4用户部分-注册接口-图片验证码 1.首先分析注册业务接口 1.1.分析可得,至少这么几个接口 图片验证码 短信验证码 用户名是否存在 手机号是否存在 整体注册接口 图片 ...
随机推荐
- Mark下js最大精确整数范围,业务中出现的疑难bug
今天在跟后端联调中,偶然发现几个数据的id居然一样,我就询问了下后端这是什么情况,然而后端告诉我说并没有相同的id,于是开始一起排查问题. 排查中发现,从后端拿来的数据在浏览器控制台NetWork ...
- [搬运]在C#使用.NET设计模式的新观点
原文地址:http://www.dotnetcurry.com/dotnet/1092/dotnet-design-patterns 软件开发有许多设计模式.其中一些模式非常受欢迎.说几乎所有的模式都 ...
- BZOJ3237: [Ahoi2013]连通图
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3237 cdq分治+缩点. 可以每次处理的时候把除l~r之外的边的端点都连起来.然后去跑cdq分 ...
- android小说阅读源码、bilibili源码、MVP新闻源码等
Android精选源码 一款基于 MVP+RxJava2+Retrofit2 的应用--熊猫眼 android 五子棋源码分享 android实现全国地图点击效果 android实现立体图案绘制的代码 ...
- nth-child()选择器小结
之前也用到过nth-child,只是当时理解的不够透彻.今天回过头去看这个知识点时,发现了一个易错点. 浏览器支持情况: 所有主流浏览器都支持nth-child()选择器,除了IE8及更早的版本. 下 ...
- 使用Git将本地项目或代码上传到GitHub上
1.要托管到github,那你就应该要有一个属于你自己的github帐号,所以你应该先到github.com注册.打开浏览器在地址栏输入地址:github.com 填写用户名.邮箱.密码,点击Sign ...
- Unity Instantiate各函数执行顺序
GameObject go = Instantiate(aaa) ; go.GetComponent<NewBehaviourScript>().Init(); Instan ...
- 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 ...
- PHP中put和post区别
1. 使用支持和范围的区别: PHP提供了对PUT方法的支持,在Http定义的与服务器的交互方法中,PUT是把消息本体中的消息发送到一个URL,形式上跟POST类似; PHP 提供对诸如 Netsca ...
- 学习javascript数据结构(四)——树
前言 总括: 本文讲解了数据结构中的[树]的概念,尽可能通俗易懂的解释树这种数据结构的概念,使用javascript实现了树,如有纰漏,欢迎批评指正. 原文博客地址:学习javascript数据结构( ...