请教各位高手,如何将收货人信息中的必填选项改为选填?

2016-07-07 15:42 来源:www.chinab4c.com 作者:ecshop专家

好像要改代码,哪位大侠知道怎么改?谢谢


回答:
感觉邮箱地址没有多大用处,想改为选填项

邮箱是作为订单状况反馈给用户的唯一方式,所以这个不赞成你这么做,否则用户还得每次上这个网站来看订单状况

如果你非要修改,方法如下:
1.使用文本编辑器(采用utf-8编码)打开 “/js/shopping_flow.js”文件
2. 将如下行代码(默认 568-572行):

  1. if ( ! Utils.isEmail(frm.elements['email'].value))
  2. {
  3. err = true;
  4. msg.push(invalid_email);
  5. }
复制代码
修改为:
  1. if (frm.elements['email'] && frm.elements['email'].value.length > 0 && (!Utils.isEmail(frm.elements['email'].value)))
  2. {
  3. err = true;
  4. msg.push(invalid_email);
  5. }
复制代码


3.除去“必填”文字提示
用文本编辑器打开 "themes/default/Library/consignee.lbi"
搜索 value="{$consignee.email|escape}" 这段文字
将后面一行当中的 {$lang.require_field} 注释掉,注释方式{*$lang.require_field*}

4. 修改 includes/lib_order.php文件
将 “check_consignee_info”函数中的检测语句修改,
1553 行 ,
注释掉!empty($consignee['email']) &&
注释后 //!empty($consignee['email']) &&
1583行,
注释掉!empty($consignee['email']) &&
注释后 //!empty($consignee['email']) &&


整个修改结束


十分感谢eter的热心帮助!

首先表示歉意,帮人要帮到底,我没有做测试,只是根据经验来得出解决答案,那么下面给出测试后的解决方法:

上面的步骤必须完成,其次增加下面的步骤
4. 修改 includes/lib_order.php文件
将 “check_consignee_info”函数中的检测语句修改,
1553 行 ,
注释掉!empty($consignee['email']) &&
注释后 //!empty($consignee['email']) &&
1583行,
注释掉!empty($consignee['email']) &&
注释后 //!empty($consignee['email']) &&

好了,现在看看程序是否可以了,这次我经过实践给出的方法,不好意思啊,哈哈

改代码.FLOW.php文件

v2.5.1 RELEASE 20080229 版本 不要用这个修改办法了。
不好使……

会出现一些问题。

希望12楼能说的明白一些。你有测试过吗?

修改文件:模版/library/consignee.lb
修改文件:模版/user_transaction.dwt
修改文件:js/shopping_flow.js
修改文件:includes/lib_order.php
修改内容:【去掉“电子邮件必填”的限制】
修改方法:
一、删除“模版/library/consignee.lb”里“email”部分的
<span class="textStrong">{$lang.require_field}</span>
二、删除“模版/user_transaction.dwt”里“email”部分的
<span class="textStrong">{$lang.require_field}</span>
三、把js/shopping_flow.js文件里的
if ( ! Utils.isEmail(frm.elements['email'].value))
{
err = true;
msg.push(invalid_email);
}
改为:
if (frm.elements['email'] && frm.elements['email'].value.length > 0 && (!Utils.isEmail(frm.elements['email'].value)))
{
err = true;
msg.push(invalid_email);
}
四、把includes/lib_order.php文件里的
!empty($consignee['email']) && (1553行)
!empty($consignee['email']) && (1583行)
注析掉。

希望大家都来帮助别人!


"配送方式",“支付方式”这个功能也可以拿掉不用?我只需要拿到订单信息,到指定地点取货现金交易就行了。