ZBlogPHP::LoadCategorys PHP Method

LoadCategorys() public method

载入分类列表
public LoadCategorys ( ) : boolean
return boolean
    public function LoadCategorys()
    {
        $this->categories = array();
        $lv0 = array();
        $lv1 = array();
        $lv2 = array();
        $lv3 = array();
        $array = $this->GetCategoryList(null, null, array('cate_Order' => 'ASC'), null, null);
        if (count($array) == 0) {
            return false;
        }
        foreach ($array as $c) {
            $this->categories[$c->ID] = $c;
        }
        foreach ($this->categories as $id => $c) {
            $l = 'lv' . $c->Level;
            ${$l}[$c->ParentID][] = $id;
        }
        if (!is_array($lv0[0])) {
            $lv0[0] = array();
        }
        foreach ($lv0[0] as $id0) {
            $this->categoriesbyorder[$id0] =& $this->categories[$id0];
            if (!isset($lv1[$id0])) {
                continue;
            }
            foreach ($lv1[$id0] as $id1) {
                if ($this->categories[$id1]->ParentID == $id0) {
                    $this->categories[$id0]->SubCategories[] = $this->categories[$id1];
                    $this->categories[$id0]->ChildrenCategories[] = $this->categories[$id1];
                    $this->categoriesbyorder[$id1] =& $this->categories[$id1];
                    if (!isset($lv2[$id1])) {
                        continue;
                    }
                    foreach ($lv2[$id1] as $id2) {
                        if ($this->categories[$id2]->ParentID == $id1) {
                            $this->categories[$id0]->ChildrenCategories[] = $this->categories[$id2];
                            $this->categories[$id1]->SubCategorys[] = $this->categories[$id2];
                            $this->categories[$id1]->ChildrenCategories[] = $this->categories[$id2];
                            $this->categoriesbyorder[$id2] =& $this->categories[$id2];
                            if (!isset($lv3[$id2])) {
                                continue;
                            }
                            foreach ($lv3[$id2] as $id3) {
                                if ($this->categories[$id3]->ParentID == $id2) {
                                    $this->categories[$id0]->ChildrenCategories[] = $this->categories[$id3];
                                    $this->categories[$id1]->ChildrenCategories[] = $this->categories[$id3];
                                    $this->categories[$id2]->SubCategorys[] = $this->categories[$id3];
                                    $this->categories[$id2]->ChildrenCategories[] = $this->categories[$id3];
                                    $this->categoriesbyorder[$id3] =& $this->categories[$id3];
                                }
                            }
                        }
                    }
                }
            }
        }
    }
ZBlogPHP