最近一直在在做ecshop钢铁交易平台的二次开发,今天介绍的是配送方式的修改。
虽然ecshop后台提供了很多的配送方式,但是对于大宗商品来说,是没办法通过普通的快递来运送的,一般买家在买大宗钢铁的时候,都会自己提供车辆来运输,但是作为商城来说,对于商品的运送过程,也是要过问的,所以就需要一种新的运送方式,客户自己运输,但是要提供车辆跟司机的信息方便备案。
下面开始修改代码:
首先,我们得选用商城提供的配送方式来修改,这样是最简单的。
因为我们的配送方式是客户自己运送,所以选择默认的上门取货来修改。
1、点击 配送方式 上门取货 修改为自己运送,再点击 买家自己到商家指定地点取货 修改为 买家自己安排车辆到商家指定地点取货送货,请在下面填写配送车辆信息。后面有一个排序,点击,设为最大值,确保 我们修改的配送放上排列在 订单提交 配送方式的最下面。
2、配送方式模板的修改
打开themes/你的模板路径/flow.dwt
找到 <!– {/foreach} 循环配送方式 –> 添加:
<tr>
<td width=”30%” height=25 valign=top>运送信息:</td>
<td width=”70%” valign=top><textarea name=”post_script2″ rows=”3″ cols=”70″>车牌号码: 司机姓名:司机身份证号: 联系电话:</textarea>
</td>
</tr>
在配送方式最下面添加配送的车辆信息,具体的内容可以根据您的具体情况修改。因为我们新加的代码是放到了循环的最外面,最下面,这也是为什么 后台把我们的配送方式排序设为最大的原因,如果最下面显示的申通、中通等,就不好对应了。
3、表单中的 name=”post_script2″ ,其中post_script2是客户填写的配送信息的字段了,需要添加到数据库,熟悉ecshop二次开发的人肯定能看出,post_script2是根据订单留言修改的,这样是最简单的,在数据库 ecs_order_info表中添加post_script2字段,字段类型跟post_script一样为varchar(255)。
4、前台显示代码、数据库字段添加完成后,还要添加提交代码,打开根目录下的flow.php
找到1921行,在
$_POST[‘post_script’] = isset($_POST[‘post_script’]) ? htmlspecialchars($_POST[‘post_script’]) : ”;下面添加
$_POST[‘post_script2’] = isset($_POST[‘post_script2’]) ? htmlspecialchars($_POST[‘post_script2’]) : ”;
字段名只是在原来基础上添加了个2,所以非常好修改
找到1937行,在
‘postscript’ => trim($_POST[‘post_script’]),下面添加
‘postscript2’ => trim($_POST[‘post_script2’]),
一共就修改这两个地方。
这样,客户在选择自己运送,并填写车辆信息之后,就可以提交数据库了,最后一部就是在后台,订单管理调用车辆信息,使后台管理员可以看到客户提交的信息。
5、打开admin/templates/order_info.htm找到
第100行 {if $order.insure_fee > 0}({$lang.label_insure_fee}{$order.formated_insure_fee}){/if}{/if} 在后面添加
<br><font color=”#FF0000″>配送信息车辆:{$order.postscript2}</font>
这样后台管理员就可以看到了,为了显眼,我添加了红色。
至此,修改完成。
看下效果: