public function cate() { $cateId = $this->_getid('cid', 0); //类别 $myCateid = $this->_getid('cateid', 0); //类别 if (!$cateId) { $this->JsonReturn('请先选择类别'); } if ($myCateid) { $myCateid = M('ste_goods_cate')->where(array('id' => $myCateid))->getField('pid'); } $cateList = M('ste_goods_cate')->where(array('city_id' => steadmin::$adminInfo['city_id'], 'is_del' => 0))->order('sort DESC')->select('id'); if (!isset($cateList[$cateId])) { $this->JsonReturn('ok', '<option value="' . $cateId . '">一级类目</option>', 1); } $cates = D('tree')->getSubs($cateList, $cateId, false); if (!$cates['list']) { $this->JsonReturn('ok', '<option value="' . $cateList[$cateId]['id'] . '">' . $cateList[$cateId]['name'] . '</option>', 1); } V('tree/catetree'); $cateStr = '<option value="' . $cateList[$cateId]['id'] . '">一级类目</option>' . D('tree')->genSelectOption(TreeTool::tree($cateList, $cateId), $myCateid, 4); $this->JsonReturn('ok', $cateStr, 1); }
private function getCateTree($cateId) { static $cateData = null; static $_treeList = array(); if (!isset($_treeList[$cateId])) { if (!$cateData) { V('tree/catetree'); $cateData = M('ste_goods_cate')->where(array('city_id' => steadmin::$adminInfo['city_id'], 'is_del' => 0))->order('sort DESC')->select('id'); } $ctree = TreeTool::getParent($cateData, $cateId); if ($ctree) { $sort = array(); foreach ($ctree as $key => $val) { if ($val['pid'] >= $this->rootCateId) { $_treeList[$cateId][$key] = $val['name']; $sort[$key] = $val['depth']; } } if ($sort) { array_multisort($sort, SORT_ASC, $_treeList[$cateId]); } } else { return array(); } if (!isset($_treeList[$cateId])) { $_treeList[$cateId] = array(); } } return $_treeList[$cateId]; }