thinkPHP怎样做无限级栏目排序?思路及方法详解
Admin 2021-05-08 群英技术资讯 551 次浏览
这篇文章给大家分享的是有关使用thinkPHP框架实现无限级栏目排序的内容,下文有具体的实现思路以及代码,对于新手来说有一定的借鉴价值,有需要的朋友可以看一看,接下来就跟随小编一起来了解一下吧。
题目中我们并没有说明是tp5的无限级排序还是tp3的无限级排序就是为了让小新手们明白,这些功能的实现跟你使用的框架是没有关系的,不管你是tp5还是tp3还是laravel还是yii框架都没有关系,我们强调的是思路,是解决问题的方法,演示的时候因为我在用tp3所以无所谓了。
无限级栏目的排序非常简单,这次以博文的方式分享给大家解决的思路。
上图:
上图是我们实现的无限级分类,我们要注意两个字段,id和排序sort字段,目前sort字段的值都是50,是默认值。接着为大家截图数据表结构
上图sort用来实现排序pid用来实现无限级分类
实现无限级分类的关键是我们对排序字段的写法,我们把整块代码拿到,但是用到的只有一行:
<form method="post" action=""> <table class="table table-bordered table-hover"> <thead class=""> <tr> <th width="6%" class="text-center">ID</th> <th width="6%" class="text-center">pid</th> <th width="8%" class="text-center">排序</th> <th>栏目名称</th> <th width="16%" class="text-center">操作</th> </tr> </thead> <tbody> <volist name="cateRes" id="cate"> <tr> <td align="center">{$cate.id}</td> <td align="center">{$cate.pid}</td> <td align="center"> <input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" /></td> <td><?php echo str_repeat('-', $cate['level']*8);?>{$cate.cate_name}</td> <td align="center"> <a href="" class=" rel="external nofollow" btn btn-primary btn-sm shiny"> <i class="fa fa-edit"></i> 编辑 </a> <a href="#" rel="external nofollow" onClick="warning('确实要删除吗', ”)" class="btn btn-danger btn-sm shiny"> <i class="fa fa-trash-o"></i> 删除 </a> </td> </tr> </volist> <tr> <td colspan="4"> <button type="button" tooltip="排序" style="margin-left:225px; width:50px;" class="btn btn-sm btn-azure btn-addon">排序</button> </td> </tr> </tbody> </table> </form>
上面的代码我们可以看出整个table是用form包裹的,因为我们要提交排序字段,所以需要表单。
我们实现无限极栏目排序的核心代码:
<input type="text" name="sort[{$cate.id}]" value="{$cate.sort}" />
就是这一句,实际上我们是拼装了一个sort[]数组,整个数组的每个元素的键是当前栏目的id而值是当前栏目的排序的值,这样我们一旦提交数组就可以根据id修改sort了
完整代码:
public function lst(){ $cate=D('Cate'); if(IS_POST){//排序 $data=I('sort'); foreach ($data as $k => $v) { $cate->where(array('id'=>$k))->save(['sort'=>$v]); } return; } $cateRes=$cate->cateTree();//无限级分类树 $this->assign([ 'cateRes'=>$cateRes, ]); $this->display('list'); }
以上就是关于thinkPHP实现无限级栏目排序功能的介绍,希望文本对大家学习有帮助,想要了解更多hinkPHP框架的内容大家可以继续关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
php怎样执行shell命令?这篇文章主要给大家演示一些普通的shell命令,有这方面学习需要的朋友可以看一下php执行shell命令的流程,以下有具体的代码。
学习laravel框架,对于路由的内是需要的掌握的,本文就给大家介绍关于Laravel框架路由设置、路由办法、路由参数等等内容,有这方面学习需要的朋友可以参考参考。
这篇文章主要给大家介绍了关于Laravel核心解读之异常处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
/path/to/pkphp.com/script.php?ajax 在php脚本中使用如下方法判断: 代码如下: if(isset($_GET['ajax'])){ ...这是一个ajax请求,然后... }&nb...
swoole保持不掉线的方法:Swoole扩展可以通过心跳机制来保持不掉线,这个机制保证服务器和客户端之间连接的有效性。Swoole扩展本身内置了这种机制,开发者只需要配置一个参数即可启用。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008