thinkphp多级分类
核心代码类(放在了Common下的Common文件夹下):
namespace Common\Common;
class Tool {
static public $treeList = array(); //存放无限分类结果如果一页面有多个无限分类可以使用 Tool::$treeList = array(); 清空
/**
* 无限级分类
* @access public
* @param Array $data //数据库里获取的结果集
* @param Int $pid //父类id
* @param Int $level //第几级分类
* @param Int $sign //符号
* @return Array $treeList
*/
static public function tree(&$data,$pid = ,$level = ,$sign=' ┣ ') {
foreach ($data as $key => $value){
if($value['pid']==$pid){
$value['level']=$level+;
$value['sign']=str_repeat($sign,$level);
self::$treeList []=$value;
self::tree($data,$value['id'],$level+,$sign);
}
}
return self::$treeList ;
}
}
分类代码
控制器调用用于页面输出:
//管理列表
public function index(){
$menu = M('Menu');
$list = $menu->order('pid asc,sort asc')->select();
$this->assign('list',Tool::tree($list));
$this->display();
}
上面要引用:use Common\Common\Tool;
html输出代码:
<volist name="list" id="vo" empty="暂时没有数据">
{$vo.sign}{$vo.name}
</volist>
显示效果:

thinkphp多级分类的更多相关文章
- EXCEL中多级分类汇总空白字段填充
使用场景,多级分类汇总后,在汇总的字段中显示空白,这样对我们直接取值做表带来十分不更(假像有5000条记录,1000条汇总项) 相关技术,INDIRECT函数,单元格定位功能. 在数据区域外任意一个单 ...
- Hexo主题实现多级分类显示
前言 最近在搞一个博客,是托管在github和gitcafe上的,利用Hexo生成的.之后,发现一个问题,显示的分类都是一级的.而我想要的是:能显示多级分类,层次分明`的那样. 问题 基本主题自带的分 ...
- (转)smarty实现多级分类的方法
--http://www.aspku.com/kaifa/php/44679.html 这篇文章主要介绍了smarty实现多级分类的方法,涉及循环读取的技巧,非常具有实用价值,需要的朋友可以参考下 ...
- Android:实现仿 美团/淘宝 多级分类菜单效果
本例要实现的是诸如美团/淘宝/百度糯米 多级分类菜单效果.当分类数量许多时能够考虑採用两级分类.而诸如美团这样的表现方式是一个不错的选择. 首先上效果图: 主要代码: 1. PopupWin ...
- SQLite中使用CTE巧解多级分类的级联查询
在最近的项目中使用ActiveReports报表设计器设计一个报表模板时,遇到一个多级分类的难题:需要将某个部门所有销售及下属部门的销售金额汇总,因为下属级别的层次不确定,所以靠拼接子查询的方式显然是 ...
- magento简化url多级分类去掉父目录
在Magento模板开发中,有时候需要将多级分类的url简化,Magento的URL默认是显示多级分类的http://afish.cnblogs.com/分类1/分类2/分类3现在需要简化为:分类2的 ...
- flex 布局 实现电商网页菜单的多级分类展示
用flex,实现多级菜单分类展示,这里记录一下,方便以后查阅. 效果展示如下: 跟上面floor的设计差不多,鼠标hover全部商品分类的时候,将下拉列表展示在指定区域,这个类似鼠标悬浮商品图片期待上 ...
- ThinkPHP无限级分类
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ ...
- Jquery实现弹出选择框选择后返回,支持多级分类
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
随机推荐
- 自动化装配Bean
一.Spring装配-自动化装配 @Component和@ComponentScan 通过spring注解(@Component)来表明该类会作为组件类,并告知Spring要为这类创建bean,不过组 ...
- IOSerialize(序列化)
在讲序列化和反序列化之前,先来阐述文件夹/文件 检查.新增.复制.移动.删除, Directory和DirectotyInfo这两个特性主要是对文件夹进行操作 首先检测文件夹是否存在 if (!Dir ...
- UGUI 自动布局的重叠BUG
1,父级使用了verticalLayout(注意没有ContentSizeFilter),子级使用了ContentSizeFilter时,点击Apply常常发现,本来布局好的UI突然重叠到了一起,或位 ...
- bootstrap下,对数组循环处理的方法
nameArray和nameArrayCurrent是字符数组 $.each(nameArray, function(i, v) { if($.inArray(v, nameArrayCurrent) ...
- 易捷框架之EChart 的使用
需要用到百度的报表控件 ,总结如下: 1,先引入开发包,以及主题包: <%@ include file="./common/echarts_header.jsp"%> ...
- python 中的type
1. type(object) -> the object's type 返回的是object的类型,即对象的类定义 例如:用元类动态生成子类metaclass = type(father) ...
- vue的样式绑定
vue在样式绑定,看这官方的文档,怎么试都不行后来看了一篇文章 <div :class="[rankClass]"></div> <script> ...
- 124. Binary Tree Maximum Path Sum (Tree; DFS)
Given a binary tree, find the maximum path sum. For this problem, a path is defined as any sequence ...
- ubuntu server 12.04 jdk,ssh及hadoop配置
我是在32位的系统下配置的,所以在下载安装文件时候要注意. 第一步:下载并配置JDK 1.下载jdk,这里下载的是jdk1.7.0_65版本的,命令如下 $ wget http://download. ...
- c++ std::unordered_set
std::unordered_set template < class Key, // unordered_set::key_type/value_type class Hash = hash& ...