【转】去掉ecshop收货人信息页面的电子邮件必填和电话、手机选填一个

2016-07-07 14:55 来源:www.chinab4c.com 作者:ecshop专家



之前论坛有个朋友发过,但是号被封了,不知犯了啥事!内容也看不到了,这里我转发下,可以帮助那些需要的朋友。


教你如何去掉ecshop收货人信息页面的电子邮件必填和电话、手机选填一个


**星号无法显示的地方是o-n-s


1、include/lib_order.php
  1. 函数check_c**ignee_info第1795行左右“!empty($c**ignee['email']) &&!empty($c**ignee['tel'])”这句改为/*!empty($c**ignee['email']) &&*/
  2. (!empty($c**ignee['tel'])||!empty($c**ignee['mobile']);
复制代码

2、js/shopping_flow.js
  1. 函数checkC**ignee(frm)第582行左右去掉或注释掉 if ( ! Utils.isEmail(frm.elements['email'].value))
  2. {
  3. err = true;
  4. msg.push(invalid_email);
  5. }
复制代码


3、js/shopping_flow.js
  1. 函数checkC**ignee(frm)第600行左右

  2. if (Utils.isEmpty(frm.elements['tel'].value))
  3. {
  4. err = true;
  5. msg.push(tele_not_null);
  6. }
  7. else
  8. {
  9. if (!Utils.isTel(frm.elements['tel'].value))
  10. {
  11. err = true;
  12. msg.push(tele_invaild);
  13. }
  14. }

  15. if (frm.elements['mobile'] && frm.elements['mobile'].value.length > 0 && (!Utils.isTel(frm.elements['mobile'].value)))
  16. {
  17. err = true;
  18. msg.push(mobile_invaild);
  19. }改为

  20. if ((Utils.isEmpty(frm.elements['tel'].value))&&(Utils.isEmpty(frm.elements['mobile'].value)))
  21. {
  22. err = true;
  23. msg.push(tele_not_null);
  24. }
  25. else
  26. {
  27. if (frm.elements['tel'] && frm.elements['tel'].value.length > 0 && !Utils.isTel(frm.elements['tel'].value))
  28. {
  29. err = true;
  30. msg.push(tele_invaild);
  31. }
  32. if (frm.elements['mobile'] && frm.elements['mobile'].value.length > 0 && (!Utils.isMobile(frm.elements['mobile'].value)))
  33. {
  34. err = true;
  35. msg.push(mobile_invaild);
  36. }
  37. }
复制代码



4、修改模板文件夹下
  1. /lib/c**ignee.lbi 搜索到{$lang.email_address}这句,删除紧跟在后面两行的<span class="textStrong">{$lang.require_field}</span>这句,这样的话页面上就不会出现必填两个字了。
复制代码

回答:
谢谢分享。。。参照您的方法实现了。谢谢

没错。这个思路是正确的。

支持楼主一下

谢谢。正用呢。

经过测试 这个有3个问题
问题1 如果你填写电话号码 不填写详细地址也不会提示详细地址有问题
问题2 前天购物流程页面添加的所有地址 会员中心不能删除
问题3 代码有问题
函数check_c**ignee_info第1795行左右“!empty($c**ignee['email']) &&!empty($c**ignee['tel'])”这句改为/*!empty($c**ignee['email']) &&*/
(!empty($c**ignee['tel'])||!empty($c**ignee['mobile']);
多了一个()导致错误提示




这个问题确实存在,修改方法不完善