2023-05-12 开启多语言插件支持……

ECSHOP如何手动输入收货地址

ecshop 苏 demo 3534℃ 0评论

做外贸的朋友有的涉及省、市众多,不想在后台逐个添加,想要实现国家和省市由选择的方式改为手动输入文本框的
方式。下面就介绍一下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开发中还有很多功能可以实现,

打赏

转载请注明:苏demo的别样人生 » ECSHOP如何手动输入收货地址

   如果本篇文章对您有帮助,欢迎向博主进行赞助,赞助时请写上您的用户名。
支付宝直接捐助帐号oracle_lee@qq.com 感谢支持!
喜欢 (0)or分享 (0)