
会变成下面

代码如下
?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
protected $cid;
protected $did;
protected $url;
public function _initialize(){
$this->url = U('Home/Index/index','','');
$this->cid=$_GET['cid'];
$this->did=$_GET['did'];
}
public function index(){
p($_GET);
$this->setCateAll();
$this->setCityAll();
$this->display();
}
/**
* 设置所有分类
*分为两种情况
*1.不存在cid 也就是没有参数则显示顶级分类
*2.存在cid 显示自己分类
*/
public function setCateAll(){
$catemodel = D('Category');
$url=$this->url;
if (is_null($this->cid)){
$topcate=$catemodel->getCateLevel(0);
$tmparr=array();
$tmparr[]='<a class="active" href="'.$url.'">全部</a>';
foreach ($topcate as $v) {
$tmparr[]='<a href=" '.$url.'/cid/'. $v['id'] .'">'. $v['catename'] .'</a>';
}
$this->assign('topcate',$tmparr);
return;
}
/**
* 存在cid的情况
* 1.存在cid 是顶级分类的id pid为0
* 2.cid不是顶级分类的id
*/
$pid=$catemodel->getCatePid($this->cid);
$topcate=$catemodel->getCateLevel(0);
$tmparr=array();
$tmparr[]='<a href="'.$url.'">全部</a>';
foreach ($topcate as $v) {
if ($this->cid==$v['id'] || $pid == $v['id']) {
$tmparr[]='<a class="active" href=" '.$url.'/cid/'. $v['id'] .'">'. $v['catename'] .'</a>';
}else{
$tmparr[]='<a href=" '.$url.'/cid/'. $v['id'] .'">'. $v['catename'] .'</a>';
}
}
$this->assign('topcate',$tmparr);
if ($pid==0) {
$soncate=$catemodel->getCateLevel($this->cid);
}else{
$soncate=$catemodel->getCateLevel($pid);
}
if(is_null($soncate)) return;
$tmparr=array();
if ($pid==0) {
$tmparr[]='<a class="active" href="'.$url.'/cid/'.$this->cid.'">全部</a>';
}else{
$tmparr[]='<a href="'.$url.'/cid/' . $pid .'">全部</a>';
}
foreach ($soncate as $v) {
if ($v['id'] == $this->cid) {
$tmparr[]='<a class="active" href=" '.$url.'/cid/'. $v['id'] .'">'. $v['catename'] .'</a>';
}else{
$tmparr[]='<a href=" '.$url.'/cid/'. $v['id'] .'">'. $v['catename'] .'</a>';
}
}
$this->assign('soncate',$tmparr);
}
/**
* 设置地区
*/
public function setCityAll(){
$citymodel=D('City');
$url=$this->url;
if (is_null($this->did)) {
//如果没有参数那么显示顶级地区
$topcity=$citymodel->getCityLevel(0);
$tmparr=array();
$tmparr[]='<a class="active" href="'.$url.'">全部</a>';
foreach ($topcity as $v) {
$tmparr[]='<a href="'.$url.'/did/'.$v['id'].'">'.$v['cityname'].'</a>';
}
$this->assign('topcity',$tmparr);
return;
}
/**
* 如果存在参数did 分为两种情况
*1.参数did为顶级地区的id 判断依据为pid是否为0
*2.参数did 不是顶级地区的id
*
*/
$pid=$citymodel->getCityPid($this->did);
$topcity=$citymodel->getCityLevel(0);
$tmparr=array();
$tmparr[]='<a href="'.$url.'">全部</a>';
foreach ($topcity as $v) {
if ($this->did==$v['id'] || $pid == $v['id']) {
$tmparr[]='<a class="active" href="'.$url.'/did/'.$v['id'].'">'.$v['cityname'].'</a>';
}else{
$tmparr[]='<a href="'.$url.'/did/'.$v['id'].'">'.$v['cityname'].'</a>';
}
}
$this->assign('topcity',$tmparr);
if ($pid==0) {
$soncity = $citymodel->getCityLevel($this->did);
}else{
$soncity = $citymodel->getCityLevel($pid);
}
if(is_null($soncity)) return;
$tmparr=array();
if ($pid==0) {
$tmparr[]='<a class="active" href="'.$url.'/did/'.$this->cid.'">全部</a>';
}else{
$tmparr[]='<a href="'.$url.'/did/'. $pid .'">全部</a>';
}
foreach ($soncity as $v) {
if ($v['id'] == $this->did) {
$tmparr[]='<a class="active" href=" '.$url.'/did/'. $v['id'].'">'. $v['cityname'] .'</a>';
}else{
$tmparr[]='<a href="'.$url.'/did/'.$v['id'] .'">'. $v['cityname'] .'</a>';
}
}
$this->assign('soncity',$tmparr);
}
}
?> 最佳答案