【laravel】blog项目实战笔记-后台多级分类列表创建及Ajax异步修改分类排序
发布时间 - 2021-09-08 00:00:00 点击率:次总想自己一个人做一个小的项目,但是不知道怎么着手,平时上班时总是做项目中某个部分的任务,没有整体做一个项目,下面是我看的视频整理的笔记,供大家参考。这是在windows环境下做的blog实战项目,以下文章是项目的一部分,我一节一节分享的,要想看更多关注我,我会持续更新。
一、后台文章分类页多级分类列表
1)添加多级分类注意cate_pid和cate_id一样就证明它在哪个分类下
2)添加个方法处理分类
public function getTree(){
}3)在上面的方法里调下面的方法
$data = $this->getTree($categroy);
public function index(){
$categroy = CategroyModel::all();
$data = $this->getTree($categroy,'cate_name','cate_pid','cate_id');
return view('home/categroy/index')->with('data',$data);
}4)下面打印一下看上面参数是否传进来
public function getTree($data){
dd($data);
}5)首先把cate_pid是0的给筛选出来,然后再次循环把cate_pid和cate_id相等的筛选出来,为了让方法更加强壮,我们想到用传参的方式,
public function getTree($data,'$file_pid=‘pid’,$file_id=‘id’,$pid=0){
$arr = array();
foreach($data as $key =>$value){
if($value->$file_pid==$pid){
$data[$key]["_cate_name"]=$data[$key]["cate_name"];
$arr[] = $data[$key];
foreach($data as $k=>$v{
if($value->$file_pid==$v->$file_id){
//新定义个字段把分类的下级定义出来
$data[$k]["_cata_name"]='-->'.$data[$k]["cate_name"]
$arr[]=$data[$v];
}
}
}
}更好的优化代码:
把控制器里的整理数据的过程放到模型中
public static function tree(){ //用的是静态方法
$categroy = CategroyModel::all();
return (new CategroyModel)->getTree($categroy,'cate_name','cate_pid','cate_id');
}
public function tree(){
$categroy = $this->all();
return $this->getTree($categroy,'cate_name','cate_pid','cate_id');
}
public function getTree($data,'$file_pid=‘pid’,$file_id=‘’,$pid=0){
$arr = array();
foreach($data as $key =>$value){
if($value->$file_pid==$pid){
$data[$key]["_cate_name"]=$data[$key]["cate_name"];
$arr[] = $data[$key];
foreach($data as $k=>$v{
if($value->$file_pid==$v->$file_id){
//新定义个字段把分类的下级定义出来
$data[$k]["_cata_name"]='-->'.$data[$k]["cate_name"]
$arr[]=$data[$v];
}
}
}
}控制器里的修改:
public function index(){
// $data= CategroyModel::Tree(); 不是静态方法不能用静态方法调用 调用静态方法
$data =(new CategroyModel)->Tree(); 调用不是静态方法
return view('home/categroy/index')->with('data',$data);
}二、后台文章分类页Ajax异步修改分类排序
1)看主模板里是否引入jquery
2)写一下JS
$(function(){});写jquery的基本格式
$(function(){
alert();
});3)要用JS发送异步
因为我要操作这个input表单时发送事件,
//加一个事件onchange,请求方法onchangeOrder方法
4)(2)是测试的,
function onangeOrder(){
alert();
}5)接下来发送异步请求了
function onchangeOrder(){
$.post("",{});//第一个url,第二个参数,第三个是回调函数function($data){}回调函数里我们用$data接收
}6)分配地址
function onchangeOrder(){
$.post("{{url('admin/cate/changeorder')}}",{},function($data){});
}7)分配路由
Route::post('admin/changeorder','CategoryController@changeorder');8)新建控制器CategoryController.php
public function changeorder(){
echo 123;
}9)把token值传给后台
function onchangeOrder(){
$.post("{{url('admin/cate/changeorder')}}",{'_token':'{{csrf_token()}}'},function($data){});
}10)再传几个参数过去,第一个参数是_token参数,第二个参数是修改哪个参数的信息,第三个参数就是把这个分类信息改成多少
修改哪个条的信息
这个分类信息改成多少
//能找到当前输入的值到底多少
11)下面的接受参数,第一个就是对象,第二个就是cate_id
function onchangeOrder(obj,cate_id){
$.post("{{url('home/cate/changeorder')}}",{'_token':'{{csrf_token()}}'},function($data){});
}12)通过obj读取咱们当前输入的值到底是多少
那么咱们定义一个变量,cate_order 等于$()然后把obj传进去,然后它的.val()
function onchangeOrder(obj,cate_id){
var cate_order=$(obj).val();
$.post("{{url('home/cate/changeorder')}}",{'_token':'{{csrf_token()}}'},function($data){});
}还有cate_id就是咱们传过来 的参数就不用处理了
13)下面却几个参数处理一下
function onchangeOrder(obj,cate_id){
var cate_order=$(obj).val();
$.post("{{url('home/cate/changeorder')}}",{'_token':'{{csrf_token()}}','cate_id':cate_id,'cate_order':cate_order},function($data){});
}14)传给contr
oller后怎么接受
public function changeorder(){
//用input方法接受前台传过来的值
$input= Input::all();
print_r( $input);
}15)然后取数据库对应cate_id数据,改变对应cate_order的值,然后跟新这条数据
public function changeorder(){
//用input方法接受前台传过来的值
$input= Input::all();
$cate=CategroyModel::find($input['cate_id']);
//然后改变order参数
$cate->cate_order=$input['cate_order'];
//更新数据库
$res = $cate->update();
}16)更新时,给前台一个提示,这是我们给一个$data[]传给前台
public function changeorder(){
//用input方法接受前台传过来的值
$input= Input::all();
$cate=CategroyModel::find($input['cate_id']);
//然后改变order参数
$cate->cate_order=$input['cate_order'];
//执行更新操作
$res=$cate->update();
if($res){
$data=[
'status'=> 0,
'msg'=>'更新成功!',
];
}else{
$data=[
'status'=> 1,
'msg'=>'更新失败!',
];
}
return $data; //别忘了返回值
}17)获取回调函数的值
function onchangeOrder(obj,cate_id){
var cate_order=$(obj).val();
$.post(
"{{url('home/cate/changeorder')}}",
{'_token':'{{csrf_token()}}','cate_id':cate_id,'cate_order':cate_order},
function(data){
alert(data.msg);
}
);
}现在整体完成,但是弹窗太丑,下节给大家分享弹窗安装信息。
以上步骤是我学习的笔记,我把要操作的步骤或重点的记了下来,如果哪有不懂可以留言。谢谢大家支持。希望能为小白提供帮助,如果想看更多blog项目信息,关注我,下一篇继续分享。
相关推荐:《laravel教程》
# laravel
# php
# jquery
# ajax
# Token
# 回调函数
# 循环
# JS
# 对象
# 事件
# 异步
# input
# windows
# 数据库
# 第一个
# 第二个
# 这是
# 几个
# 回调
# 第三个
# 分类信息
# 文章分类
# 的是
# 我要
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
Laravel如何使用Blade模板引擎?(完整语法和示例)
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
java中使用zxing批量生成二维码立牌
Android okhttputils现在进度显示实例代码
Laravel怎么进行浏览器测试_Laravel Dusk自动化浏览器测试入门
JS实现鼠标移上去显示图片或微信二维码
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
JavaScript如何实现错误处理_try...catch如何捕获异常?
浅谈Javascript中的Label语句
实现点击下箭头变上箭头来回切换的两种方法【推荐】
BootStrap整体框架之基础布局组件
Android实现代码画虚线边框背景效果
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
iOS验证手机号的正则表达式
如何在Ubuntu系统下快速搭建WordPress个人网站?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
如何利用DOS批处理实现定时关机操作详解
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程
晋江文学城电脑版官网 晋江文学城网页版直接进入
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
香港服务器选型指南:免备案配置与高效建站方案解析
如何在Tomcat中配置并部署网站项目?
Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理
如何实现建站之星域名转发设置?
Laravel如何创建自定义Facades?(详细步骤)
Python并发异常传播_错误处理解析【教程】
iOS UIView常见属性方法小结
详解Android中Activity的四大启动模式实验简述
5种Android数据存储方式汇总
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
Laravel如何发送邮件_Laravel Mailables构建与发送邮件的简明教程
详解jQuery停止动画——stop()方法的使用
Laravel如何实现API版本控制_Laravel API版本化路由设计策略
UC浏览器如何设置启动页 UC浏览器启动页设置方法
历史网站制作软件,华为如何找回被删除的网站?
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
nginx修改上传文件大小限制的方法
如何在香港免费服务器上快速搭建网站?
如何在万网主机上快速搭建网站?
Android仿QQ列表左滑删除操作
Laravel Fortify是什么,和Jetstream有什么关系
Laravel Session怎么存储_Laravel Session驱动配置详解
Python自然语言搜索引擎项目教程_倒排索引查询优化案例

