做外贸的朋友有的涉及省、市众多,不想在后台逐个添加,想要实现国家和省市由选择的方式改为手动输入文本框的
方式。下面就介绍一下ECSHOP开发过程中的ECSHOP实现收货国家省市由选择下拉菜单改为手动输入文本框的实现方法。
修改ECSHOP默认的数据库中存储省市国家的表内容数据,就要先修改数据库的字段。
将ecs_order_info表中的对应字段修改为字符串型:
alter table  `ecs_order_info` modify province varchar(255) NOT NULL DEFAULT '';
alter table  `ecs_order_info` modify city varchar(255) NOT NULL DEFAULT '';
alter table  `ecs_order_info` modify district varchar(255) NOT NULL DEFAULT '';
修改ecs_user_address表中的字段。
alter table  `ecs_user_address` modify province varchar(255) NOT NULL DEFAULT '';
alter table  `ecs_user_address` modify city varchar(255) NOT NULL DEFAULT '';
alter table  `ecs_user_address` modify district varchar(255) NOT NULL DEFAULT '';
下面就可以将ecshop中的国家、省份和城市改为手动输入文本框了。
修改的提交数据和读取数据的时候所得到的值,省份的索引值到对应表中查询找到对应的省份并予以输出,
现在,就要直接读取这个值,并给予输出。
在表单提交页:
flow.php中,我们将保存收货人信息代码中的
'district'      => empty($_POST['district'])   ? '' : intval($_POST['province'],
改为
'district'      => empty($_POST['district'])   ? '' : $_POST['province'],
这样就把省份去的值直接写入数据库,修改国家(这里将district改为国家)和城市,这样就把用户输入的
值直接写入了数据库运用的是同样的方法。
修改用户中心的对应字段,把整数值转换的函数去掉。修改订单确认的页面,页面的用户信息确认,需要修改其中的显示方式。
要将C**igee中的对应字段加入。
比如我们把地址写成下面的样式:
{$c**ignee.address|escape}, {$c**ignee.city}, {$c**ignee.province}, {$c**ignee.district}
这样就可以从前面调用城市、省份、国家的信息了。
最后需要修改网站的后台中的订单信息页面,这个页面同样需要按照前台的显示方式来修改,找到
admin/order.php中的代码:
$sql = "SELECT concat(IFNULL(c.region_name, ''), '  ', IFNULL(p.region_name, ''), " .
                "'  ', IFNULL(t.region_name, ''), '  ', IFNULL(d.region_name, '')) AS region " .
            "FROM " . $ecs->table('order_info') . " AS o " .
                "LEFT JOIN " . $ecs->table('region') . " AS c ON o.country = c.region_id " .
                "LEFT JOIN " . $ecs->table('region') . " AS p ON o.province = p.region_id " .
                "LEFT JOIN " . $ecs->table('region') . " AS t ON o.city = t.region_id " .
                "LEFT JOIN " . $ecs->table('region') . " AS d ON o.district = d.region_id " .
            "WHERE o.order_id = '$order[order_id]'";
改为:
$sql="SELECT concat(city, ' ', province, ' ', district) AS region " . "FROM ". $ecs->table('order_info') ."WHERE order_id = '$order[order_id]'";
这就实现了从order_info表中读取来的地址信息直接显示的功能。
好了,ECSHOP实现收货国家省市由选择下拉菜单改为手动的功能实现了,ecshop开发中还有很多功能可以实现,

分享到
作者:
该日志由 admin 于2012年01月23日发表在Ecshop程序分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。 | +复制链接
转载请注明: ECSHOP收货地址改为手动输入方式
关键字:
【上一篇】
【下一篇】

您可能感兴趣的文章:

发表评论

[请申请gravatar头像,木有头像的评论可能不会被回复|头像相关帮助]

插入图片

Slider by webdesign