您当前的位置: 首页 > 

苗先生的PHP记录

暂无认证

  • 2浏览

    0关注

    190博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

tp 切换城市

苗先生的PHP记录 发布时间:2019-09-26 21:58:46 ,浏览量:2

原理

  • 通过遍历可用的城市数据,获取一个默认的值is_default = 1 时,break终止循环 ,如果没有值就给一个默认的值
  • 需要考虑当点击切换到一个城市后回到了首页,即url后没有关于城市的get参数,所以用session存储选中的城市

demo: o2o controller : index\Base view : publilc\head

 public $city = '';
    public function _initialize()
    {
        // 城市数据
        $citys = model('City')->getNormalFirstCity();
        $this->getCity($citys);
        $this->assign([
            'citys' => $citys,         //切换城市
            'city' => $this->city,     //当前选定城市
        ]);
    }

    public function getCity($citys)
    {
        foreach ($citys as $city){
            $city = $city->toArray();
            if ($city['is_default'] == 1){
                $defaultuname = $city['uname'];
                break;   //如果有终止循环
            }
        }
        $defaultuname = isset($defaultuname) ? $defaultuname : 'JiLin';  // $defaultuname有值就等于$defaultuname,否则默认吉林
        if (session('cityuname','','index') && !input('get.city')){  // 有session , (点击过切换城市,但是没有url后缀)
            $cityuname = session('cityuname','','index');
        }else{
            $cityuname = input('get.city',$defaultuname,'trim'); //没有获取的城市默认是 $defaultuname
            session('cityuname',$cityuname,'index');
        }
        $this->city = model('City')->get(['uname'=>$cityuname]);
    }
{$city['name']}

{volist id="vo" name="citys"}
	{$vo.name}
{/volist}
关注
打赏
1665468453
查看更多评论
立即登录/注册

微信扫码登录

0.0388s