在此,更正之前的通知。无限分类栏目列表的功能忘记完成了,也就是删除功能还没做,所以今天先删除,下一节再做面包屑导航。非常抱歉。同时,我也不知道是什么原因。上篇文章审了7个多小时才通过。如果没有看到上一节,请点击浏览:PHP框架之ThinkPHP模块开发系列之7无限级分类2、无限级类别的格式化展示正式开始我们删除功能的制作。删除的基本思路:改进cate.html,增加删除链接地址,如图:链接地址代码说明:__CONTROLLER__为当前控制器,即CategoryController控制器。del是当前控制器中的删除方法。id就是传递以id为参数的值。{$vo.id}是传递的id的值。构建del方法然后我们打开Ca??tegoryController.class.php,在这个controller中新建一个删除方法del,并接收id参数,根据id的值进行删除操作。代码如图:delete方法buildsubcategorydelete方法Thinkphp有一个非常好用的钩子函数,我们使用这个函数来删除子类。我们在CategoryModel.class.php中新建一个删除前的钩子函数:_before_delete,然后使用递归的方式删除子类。代码如图:opition参数。我们可以使用var_dump方法打印出opition来进一步了解它的数据结构。第一步,我们先写var_dump($opition);死;在钩子函数_before_delete中;第二步打印操作,然后在浏览器中点击删除河北按钮,如图:我们点击删除时打印的数据对于河北省,会先获取河北省的id等相关数据。它是一个二维数组,我们需要的是数组中的ID值。根据得到的id,我们使用递归的方法(deltree)查找其下是否有子列。如果有,我们将符合条件的数据的id存入静态数组arr中并返回,然后使用php函数implode函数将arr数组中的id用“,”分割,存入ids中。如果ids不为空,则执行删除操作。这里需要特别说明的是,在模型层,必须要写原生态的PHP语句。最后,我们删除var_dump($opition);死;将钩子函数_before_delete恢复原状在浏览器中输入:http://localhost/tp3/admin.ph...,在“美国”栏中点击删除,美国下的NewYork将被删除同时。同时,相关数据也会从mysql数据库中删除。至此,无限分类的删除功能就完成了。喜欢的话可以关注我们哦。如果您有任何问题,可以留言,我们会尽快反馈。感激的!本文由头条号《生活在前进》原创,家教日服广告联盟(www.jiazhua.com)整理编辑!转载请注明!
