返回顶部
首页 > 资讯 > 精选 >TP5.1+layui怎么实现栏目数的调用
  • 147
分享到

TP5.1+layui怎么实现栏目数的调用

2023-06-14 20:06:24 147人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关TP5.1+layui怎么实现栏目数的调用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。layui是什么layui是一款采用自身模块规范编写的前端UI框架,它遵循原生html/

这篇文章将为大家详细讲解有关TP5.1+layui怎么实现栏目数的调用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

layui是什么

layui是一款采用自身模块规范编写的前端UI框架,它遵循原生html/CSS/js的书写与组织形式,门槛极低,适合新手,并且它还提供了丰富的内置模块,他们皆可通过模块化的方式按需加载,从核心代码到api的每一处细节都经过精心雕琢,非常适合界面的快速开发,能够作为PC网页端后台系统与前台界面的速成开发方案。

整合Layui+TP5.1时,有时候需要调用栏目树,这就需要进行数据的动态化调用,之前试过很多种方法,都没有生效,后面查看了JS数据调用的方法,结合layui进行多次尝试,终于找出了能够实现这一功能的方法,希望对大家有用。

以下的例子是一个调用城市的实例,数据库字段包括:id,order(排序),pid(上级城市ID)、name(城市名称),这里包含了省级、市级、县/区级三级城市。

第一步:根据Layui给出的方法,首先写出HTML页面,如下所示:

其中___ADMIN__是你自己配置的样式路径,修改成自己的路径即可。另外由于这里调用数据采用的是js数据调用,所以需要加载Jquery库,我这里用的是jquery-3.2.1,大家可以根据自己的实际需求加载对应版本的jquery库,这里不多说,直接上代码:

【HTML】

<!DOCTYPE html><html><head>   <meta charset="UTF-8">   <title>Title</title>   <link rel="stylesheet" href="__ADMIN__/js/jquery-3.2.1.js">   <link rel="stylesheet" href="__ADMIN__/layui/css/layui.css">   <script type="text/javascript" src="__ADMIN__/layui/layui.js"></script></head><body><!--test12对应的是layuitree.render中的elem值,这两个值必须一致--><div id="test12"></div><script type="text/javascript">layui.use(['fORM','layer','element','tree', 'util'],function(){       $ = layui.jquery;        var form = layui.form        ,layer = layui.layer;        var tree = layui.tree        ,util = layui.util;        var element = layui.element;        form.on('checkbox(checkeds)', function(data){           if(data.elem.checked){               $('.checkone').prop('checked',true);        }else{               $('.checkone').prop('checked',false);        }           form.render('checkbox');        });   //调用数据    $(document).ready(function(){           $.get('{:url("getCateGoryList")}').done(function (data) {               var arr =$.parseJSON(data);        //alert(arr);        tree.render({                   elem: '#test12'        ,data: arr                   ,showCheckbox: false  //是否显示复选框        ,id: 'demoId1'        ,isJump: false //是否允许点击节点时弹出新窗口跳转        ,click: function(obj){                       //var data = obj.data;  //获取当前点击的节点数据        var dump_url = obj.data.href;        window.location.href = dump_url;        //layer.msg('状态:'+ obj.state + '<br>节点数据:' +                                 JSON.stringify(data));        }               });        })       });});</script></body></html>

第二步:书写后台PHP代码,这里我是根据TP5.1 的规则书写的代码

【PHP代码】

//获取栏目信息public function getCategoryList(){   $id = Request::param('id');   $parentId = $this->getAllParentId($id);//获取父级ID信息   $list = AreaModel::where('pid',100000)       ->where('status',0)       ->order('order asc')       ->select();   $cate = array();   foreach ($list as $key=>$v){       $cate[$key]['title'] = $v['name'];       if(in_array($v['id'],$parentId)){           $cate[$key]['checked'] = 'true';           $cate[$key]['spread'] = 'true';       }       $cate[$key]['field'] = 'name'.$v['id'];       $cate[$key]['id'] = $v['id'];       $cate[$key]['href'] = "/yejuzhi/article/index?cid=".$v['id'];       $child = AreaModel::where('pid',$v['id'])           ->where('status',0)           ->order('order asc')           ->select();       if($child){           foreach ($child as $key1=>$c){                              $cate[$key]['children'][$key1]['title'] = $c['name'];               $cate[$key]['children'][$key1]['checked'] = 'true';               $cate[$key]['children'][$key1]['spread'] = 'true';               $cate[$key]['children'][$key1]['field'] = 'name'.$c['id'];               $cate[$key]['children'][$key1]['id'] = $c['id'];               $cate[$key]['children'][$key1]['href'] = '';               $child1 = AreaModel::where('pid',$c['id'])                   ->where('status',0)                   ->order('order asc')                   ->select();               foreach ($child1 as $key2=>$value){                   $cate[$key]['children'][$key1]['children'][$key2]['title'] = $value['name'];                   $cate[$key]['children'][$key1]['children'][$key2]['checked'] = 'true';                   $cate[$key]['children'][$key1]['children'][$key2]['spread'] = 'true';                   $cate[$key]['children'][$key1]['children'][$key2]['field'] = 'name'.$value['id'];                   $cate[$key]['children'][$key1]['children'][$key2]['id'] = $value['id'];                   $cate[$key]['children'][$key1]['children'][$key2]['href'] = '';               }           }       }       //$cate[$key]['children'][] = array();   }   //dump($cate);   return json_encode($cate);}

在上面用到了一个方法:getAllParentId,这个方法是专门用来获取所有父级ID的方法,下面是代码信息:

//获取父级栏目public function getAllParentId($id = 43){   static $parentId;   $cates = AreaModel::where('id',$id)->find();   if($cates['pid']==0){       $parentId[] = $cates['id'];   }   $list = AreaModel::where('status',0)       ->order('order asc')       ->select();   foreach ($list as $k => $v) {       if ($cates['pid'] == $v['id']) {           $parentId[] = $v['id'];           $this->getAllParentId($v['id']);       }   }   return $parentId;}

关于“TP5.1+layui怎么实现栏目数的调用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: TP5.1+layui怎么实现栏目数的调用

本文链接: https://lsjlt.com/news/274692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • TP5.1+layui怎么实现栏目数的调用
    这篇文章将为大家详细讲解有关TP5.1+layui怎么实现栏目数的调用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。layui是什么layui是一款采用自身模块规范编写的前端UI框架,它遵循原生HTML/...
    99+
    2023-06-14
  • DEDECMS怎么调用当前所在栏目的顶级栏目ID
    本篇内容介绍了“DEDECMS怎么调用当前所在栏目的顶级栏目ID”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2024-04-02
  • dede织梦调用顶级二级栏目及下三级栏目方法(数据库实现)
    ①:通过dede调用二级栏目大家都会调用,但要调用三级栏目,就有点麻烦了,如下样式的三级栏目dede如何调用呢如下:----------------------------------------A级主栏目...
    99+
    2024-04-02
  • 帝国CMS实现循环调用子栏目的方法
    帝国cms自身的封面页的循环非常单调!一般只能加个头条、推荐之类的信息。现在分享一个支持内嵌标签的代码,可以做到不用写复杂的sql语法,就能实现在灵动标签中嵌套调用头条、图片等等自己想要的效果。代码如下所示: 复制代码代...
    99+
    2022-06-12
    帝国CMS 循环调用 子栏目 方法
  • layui数据绑定怎么实现
    在layui中,可以通过使用模板引擎来实现数据绑定。以下是一个实现数据绑定的示例代码:1. 在HTML中定义一个模板:```html...
    99+
    2023-09-15
    layui
  • 实现dedecms友情链接分栏目调用的方法(图)
    dedecms如何实现不同栏目页调用不同的友情链接。网上查了大半天,都是讲些首页和栏目页的分别调用。这里和大家分享下,小伎俩,为什么实现这样的方式,原因就不必多说了。  其实运用object和javascript调用外部...
    99+
    2022-06-12
    dedecms调用
  • dede调用指定栏目下相关文章的实现方法
    首先明确要达到两个要求: 1、要调用指定栏目 2、调用的文章要包含指定关键字 相关文档调用 {dede:likeart titlelen=’24′ row=’10′} &l...
    99+
    2022-06-12
    指定栏目 相关文章
  • dedecms 每个栏目下的文章总数的调用
    我是根据5.3里面修改的,本人测试了可以,大家可不可以就不知道了,若不可以的可以在下面回帖 打开include/common.func.php文件 在最后的>之前加上 复制代码代码如下: //统计栏目文章数 fun...
    99+
    2022-06-12
    栏目 文章总数
  • DedeCMS 统计栏目的文章总数的调用方法
    打开include/common.func.php文件,在最后的>之前加上: 以下为引用的内容: 复制代码代码如下: //统计栏目文章数 function GetTotalArc($tid){ global $ds...
    99+
    2022-06-12
    DedeCMS 统计栏目
  • 织梦标签channel实现列表页调用当前栏目的子类
    复制代码代码如下: {dede:channel type='son' row='10' currentstyle="<li class='hover'><a href='~typelink~' ~rel...
    99+
    2022-06-12
    列表页 当前栏目 子类
  • dedecms实现调用所有顶级栏目下最新文章的方法
    本文实例讲述了dedecms实现调用所有顶级栏目下最新文章的方法。分享给大家供大家参考。具体方法分析如下: 做dedecms的模板,我们会遇到各种各样的调用问题,这里就来分析一下dedecms列表页调用所有顶级栏目文章列...
    99+
    2022-06-12
    dedecms 调用 顶级栏目下 最新文章 方法
  • phpcms V9修改lists标签(实现调用文章所属栏目及点击数)
    实现效果步骤如下: ①打开\phpcms\modules\content\classes\content_tag.class.php文件;②搜索“列表页标签”,即lists标签函数,应该在文件的5...
    99+
    2022-06-12
    phpcms lists 所属栏目 点击数
  • 在zblog首页调用不同栏目的列表数据
    因为有些主题的原因,一些新加栏目不能按照需求,在首页调出部分列表数据。我们可以这样做: 1.找到该主题的include.php文件,在该文件最后添加代码如下: 注意: San_Tig...
    99+
    2022-11-13
    zblog首页调用 zblog调用数据
  • 怎么用MyBatis-Plus结合Layui实现分页
    这篇文章主要介绍“怎么用MyBatis-Plus结合Layui实现分页”,在日常操作中,相信很多人在怎么用MyBatis-Plus结合Layui实现分页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用My...
    99+
    2023-06-20
  • 织梦CMS怎么调用问答栏目文章到首页?
    织梦CMS调用问答栏目文章到首页的方法:使用织梦DEDECMS问答模块的站长还是挺多的,织梦问答系统高分悬赏问题,待解决问题,新解决问题,推荐问题等需要在网站里面调用,比如调用到首页,可以通过下面的代码进行调用:基本语法说明:代码如下:{d...
    99+
    2019-07-28
    织梦 CMS dedeCMS
  • 帝国cms怎么调用栏目别名考虑到seo优化
    在新模板制作过程中,由于栏目名称比较长,用在标题上没有问题,对seo有利,但是在页面上不希望这么长,简单即可,提过提供了栏目别名,如果能调用就方便了, 请留意下面的修改方法 修改后栏目别名使用 [!--bnam...
    99+
    2022-06-12
    帝国cms 栏目别名
  • 织梦CMS调用问答栏目文章到首页实现方法分享
    基本语法说明: 复制代码代码如下: {dede:ask row='6' qtype='new' tid='0' titlelen='24'} <dd> <span class="tclass">[...
    99+
    2022-06-12
    问答栏目 首页
  • vue的v-if里怎么实现调用函数
    今天小编给大家分享一下vue的v-if里怎么实现调用函数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。vue v-if调用函...
    99+
    2023-07-02
  • 怎么解决layui禁用侧边导航栏点击事件的问题
    这篇文章将为大家详细讲解有关怎么解决layui禁用侧边导航栏点击事件的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。直接上代码吧//JavaScript代码区域 la...
    99+
    2024-04-02
  • 怎么用css实现两栏布局
    这篇文章主要介绍了怎么用css实现两栏布局,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   1、浮动布局   左侧栏固定宽度向左浮动,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作