你现在的位置:首页 > PHP网站建设知识库 > ecshop > 正文

在ecshop发表评论时email非必填或者不显示email地址输入框

朋友们都知道,在ecshop的商品详情页写评论的时候,除了正文以外,“E-MAIL”默认也是“必填”的。如果我们想改成发表评论时email非必填或者不显示email地址输入框,应该怎么办呢?

\

以下ECSHOP 2.7.2 官方默认模板为基础进行讲解说明。

将E-MAIL改成非必填项的方法:(也就是说保留那个E-MAIL输入框,但是用户不填,也可以提交评论)

第1步:

打开 /themes/default/library/comments_list.lbi 文件

找到并删除下面代码

  if (cmt.email.length > 0)
  {
     if (!(Utils.isEmail(cmt.email)))
     {
        alert(cmt_error_email);
        return false;
      }
   }
   else
   {
        alert(cmt_empty_email);
        return false;
   }

第2步:
打开 /comment.php 文件
找到并删除以下代码
 elseif (!is_email($cmt->email))
    {
        $result['error']   = 1;
        $result['message'] = $_LANG['error_email'];
    }

注意,完成第 1、2 步的操作后并没有删除 E-MAIL 输入框的,只是将E-MAIL 改成了 “非必填项”,
如果你想干脆删除 E-MAIL 输入框,请继续看 第 3 步。

第3步:

如果您想干脆删除 e-mail 那一栏,那么在做完前两步修改后继续进行如下修改即可
打开 /themes/default/library/comments_list.lbi

<tr>
          <td align="right">E-mail:</td>
          <td>
          <input type="text" name="email" id="email"  maxlength="100" value="{$smarty.session.email|escape}" class="inputBorder"/>
          </td>
        </tr>

删除,
继续将
cmt.email           = frm.elements['email'].value;

也删除,
然后到后台清除下缓存

此时,我们再去发布评论,就会发布email地址是非必填项或不显示。