ecmall添加地区选择登陆

现在要在ecmall的基础上添加地区登陆,就是根据你选择的地区来显示出来相应的商品,把地区id存在一个session中,然后整站根据你的session_id去取商品,这样就实现了想要结果

这里只做区 选择显示,在登陆旁边显示地区。top文件

在app/frontend.base.php入口文件中添加代码,当然也可以在别的入口文件中


修改 frontendApp 下面的__construct方法为


function __construct() {
        $this->FrontendApp();


        //地区登陆进口
    $region = & m('region');//实例化region表
            $get_region = $region->get_list($parent_id=246);//因为这里表中对应的山东id是246,而我的项目中只做山东的,你也可以改成中国的id
            $this->assign('get_region', $get_region);//将结果赋值给变量get_region
            //print_r($get_region);


        empty($_SESSION['city_id']) ? $region_id = 247 : $region_id = $_SESSION['city_id'];//如果你刚登陆进来的话默认地区济南的id,可以自己修改


        if($_SERVER['REQUEST_METHOD'] == 'GET') {
            if(!empty($_REQUEST['RegionId'])) {
                $region_id = intval($_REQUEST['RegionId']);
            }
        }
        $_SESSION['city_id'] = $region_id;
        $region_name = $region->get_region($region_id);
        $this->assign('region_name', $region_name); //把地区id存入session并且将地区名称赋值给region_name变量
    }

由于获取根据地区id获取子地区model中没有这个方法

所以要在includes/models/region.model.php中

//根据region_id获取地区名称
    function get_region($region_id)
    {
        $kinds = $this->db->getOne("SELECT region_name FROM {$this->table} WHERE region_id='{$region_id}'");


        return $kinds;
    }

以上是php部分

下面修改 top.html 和 width/tp.html

添加jquery效果

//地区选择
$("#ChangCity span").click(function(){
$("#ShowCity").animate({width:'800px', height:'500px'},"slow");
});
$("#CloseShow").click(function(){
$("#ShowCity").animate({width:'0px', height:'0px'},"slow");
});

});

<!--地区选择 start-->
         切换地区:<span id="ChangCity" style="position:relative;"><span style="cursor:pointer">{$region_name}</span>
         <div id="ShowCity" style="position:absolute; border:1px solid #ccc; z-index:999; display:none; left:30px; width:100px; height:auto; overflow:hidden; background:#fff;">
          <div style="float:right; width:30px; height:30px; cursor:pointer; font-weight:bold; color:#666" id="CloseShow">关闭</div>
            <div style="clear:both; padding:10px;">
            <!--{foreach from=$get_region item=val}-->
                <a href="index.php?RegionId={$val.region_id}">{$val.region_name}</a>
                <!--{/foreach}-->
            </div>
         </div>
         </span>
         <!--地区选择 end-->

保存后看效果,可以正常选择地区和保存地区session值,现在还不能根据地区显示该地区下面的商品

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值