무한 분류(1부)
무한 분류

무한 분류란 무엇입니까:
무한 분류 간단히 말하면 클래스를 분자 클래스로 나눈 다음 하위 클래스를 다른 하위 범주로 나누고 마치 Windows가 새 폴더를 생성할 수 있는 것처럼 이 작업을 무한정 계속한 다음 이 폴더 내에 폴더를 생성합니다.
public function index(){
$cate=D('cate');
$cateres=$cate->catetree();
$this->assign('cateres',$cateres);
$this->display();
}먼저 인덱스 컨트롤러에 템플릿을 작성하고 $cateres가 catetree() 메서드를 호출합니다.
catetree() 메소드는 분류 모델 레이어에 다음과 같이 작성되어 있습니다.
<?php
namespace Admin\Model;
use Think\Model;
class CateModel extends Model {
protected $_validate = array(
array('catename','require','管理员名称不得为空!',1),
);
public function catetree(){
$data=$this->order('id desc')->select();
return $this->resort($data);
}
public function resort($data,$pid=0,$level=0){
static $arr=array();
foreach ($data as $k => $v) {
if ($v['pid']==$pid) {
$v['level']=$level;
$arr[]=$v;
$this->resort($data,$v['id'],$level+1);
}
}
return $arr;
}
}이를 구현하는 방법을 차례로 설명하겠습니다.
catetree 메소드
는 데이터를 가져옵니다. $this는 자신을 호출하여 쿼리하고 ID를 사용하여 정렬하는 것을 의미합니다. return은 쿼리 결과를 반환합니다.
resort method
$data: 획득한 데이터
$pid=0: 최상위 카테고리 0부터 시작
$level=0 분류 수준
먼저 다음을 사용하여 빈 배열을 만듭니다. 데이터를 저장하기 위해 foreach를 사용하여 $v['pid']==$pid가 최상위 ID를 의미하는 경우 $v['level']=$level도 최상위 범주이며 쿼리된 데이터는 배열에 저장됩니다. 다음으로 $this->resort($data,$v['id'],$level+1); 여기서 $data는 $data $v['와 같습니다. id']는 $pid와 같습니다. $level+1 $level이 매번 1씩 증가함을 나타냅니다. 찾아낸 결과는 다음과 같습니다.

계속해서 몇 가지를 추가하여 확인하고 있습니다

이것이 우리의 무한 분류의 간단한 원리입니다.
- 코스 추천
- 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~ 















