首 页  >>  E商学院  >>  zencart百科  >>  ZenCart简化用户注册

ZenCart简化用户注册

ZenCart简化用户注册

ZenCart默认的注册项太繁杂 于用户友好体验度是不利的

这是病 得治 因此也就有了本处方

从后台中直接把注册时必添项关掉或按需要关掉

操作上共涉及到两处

一 商店设置 —> 客户资料 除了地区选择保留下拉框选择外 其他的在本例中 全部关掉, 如图1

 

二 商店设置  —> 最小值

这里把 地区 省份 公司 邮编 姓氏 生日 城市 电话号码 等按需设置为无, 不需要的选项在编辑里 把数据清空提交 即可 切记不可以输入 ” 数字 0 “ 很重要

这样设置好后 去看下注册页的提交项目是不是少了很多

可是这样还没完 我们再继续  默认的情况下 项项后面都有个 * 号 提示为必添项, 实际上也确实是必添项  这里同样分两步走 第一步 先把不需要的必添项目后面的 * 号去掉先;

要去这个 * 号提示 需要修改的是 对应的语言包文件

(操作前的小提示: 不要使用记事本来编辑修改PHP文件 特别是编码为UTF8的PHP文件 原因可以自己百度上Google一下 BOM相关信息 或 参见 百度百科介绍 )

以去掉中文界面下的 * 号提示为例 打开 中文语言包下的 schinese.php 文件  Zencart代码的书写与命名很规范 打开schinese.php后找到类似下面这样的代码片断:

1
2
3
4
5
6
7
  define('ENTRY_COMPANY','公司名称:');
define('ENTRY_COMPANY_ERROR','请输入公司名称。');
define('ENTRY_COMPANY_TEXT','');

define('ENTRY_GENDER','称呼:');
define('ENTRY_GENDER_ERROR','请选择称呼。');
define('ENTRY_GENDER_TEXT','*');

把代码中 define(‘ENTRY_GENDER_TEXT’, ‘*‘); 这句中的 * 号删掉 注意只删 * 号 切记要保留 一对 半角的 单引号很 重 要 !

其他的依次类推 把不需要的项目中的 ENTRY_COUNTRY_TEXT 全部去掉 * 号

保存并上传覆盖 就哦可了

这里可能会碰上一个小问题 明明都改对了 可是为何 注册页中涉及到修改的项目 * 号提示还在

答: 因为 ZenCart 的文件替代机制 如果在可以使用替代文件的目录中有与现使用模板存放目录名相同的文件夹 且该文件夹下有相同名的文件, 默认情况下,当前模板会优先加载该文件使用 所以 上面修改的语言文件 实际对应的路径

应该是 includes/languages/你的当前模板存放目录名的文件夹/下的语言文件

而非 includes/languages/下的语言文件  有点绕口 是吧  但你会明白的 ,

如此修改后 虽然 不想要的 必添的项目后面的提示 不在了 可是还是会验证你提交的必填项有没有填写  所以 我们还要继续 去掉这个验证检查

第二步 去掉 必填项的验证

Zencart对注册表单的必填项的验证是使用JS来完成的

这个JS文件位于 includes/modules/pages/create_account/下的 jscript_form_check.php 文件中

懂的还好 不懂的看着有点儿蒙是吧  没关系 这里有个小技巧 查看刚才修改过的语言文件中对应的字段 然后用这个字段在这里查找包含这个字段的 哪几行代码就是了,

为了日后方便维护 这里不推荐直接删掉相对的代码片断 而是采取注释掉,

例如: 我刚才在语言文件中去掉了 详细地址 这一项 必填提示 他使用的字段是 ENTRY_STREET_ADDRESS 哪在这里我就用 ENTRY_STREET_ADDRESS 查找

找到 这样的 语句

1
2
3
<?phpif((int)ENTRY_STREET_ADDRESS_MIN_LENGTH >0){?>
check_input("street_address", <?phpecho ENTRY_STREET_ADDRESS_MIN_LENGTH;?>, "<?phpecho ENTRY_STREET_ADDRESS_ERROR;?>");
<?php}?>

我们只需要把上面的代码片断注释掉 即可  这里 建议 采用  /** 代码  */ 来注释

这里 我整理了几段 一般可能不太需要的 代码片断注释掉作示例

验证 姓氏

1
2
3
4
5
/**
<?phpif((int)ENTRY_LAST_NAME_MIN_LENGTH >0){?>
check_input("lastname", <?phpecho ENTRY_LAST_NAME_MIN_LENGTH;?>, "<?phpecho ENTRY_LAST_NAME_ERROR;?>");
<?php}?>
*/

验证 详细地址

1
2
3
4
5
/**
<?phpif((int)ENTRY_STREET_ADDRESS_MIN_LENGTH >0){?>
check_input("street_address", <?phpecho ENTRY_STREET_ADDRESS_MIN_LENGTH;?>, "<?phpecho ENTRY_STREET_ADDRESS_ERROR;?>");
<?php}?>
*/

验证 邮编

1
2
3
4
/**
<?phpif((int)ENTRY_POSTCODE_MIN_LENGTH >0){?>
check_input("postcode", <?phpecho ENTRY_POSTCODE_MIN_LENGTH;?>, "<?phpecho ENTRY_POST_CODE_ERROR;?>");
<?php}?>*/

验证 城市

1
2
3
4
5
/**
<?phpif((int)ENTRY_CITY_MIN_LENGTH >0){?>
check_input("city", <?phpecho ENTRY_CITY_MIN_LENGTH;?>, "<?phpecho ENTRY_CITY_ERROR;?>");
<?php}?>
*/

验证省份

1
<?phpif(ACCOUNT_STATE =='true')echo'  if (!form.state.disabled && form.zone_id.value == "") check_input("state", '. ENTRY_STATE_MIN_LENGTH .', "'. ENTRY_STATE_ERROR .'")'."n".'  else if (form.state.disabled) check_select("zone_id", "", "'. ENTRY_STATE_ERROR_SELECT .'");'."n";?>

验证 国家

1
2
3
/**
check_select("country", "", "<?phpecho ENTRY_COUNTRY_ERROR;?>");
*/

验证 电话号码

1
2
3
4
5
/**
<?phpif((int)ENTRY_TELEPHONE_MIN_LENGTH >0){?>
check_input("telephone", <?phpecho ENTRY_TELEPHONE_MIN_LENGTH;?>, "<?phpecho ENTRY_TELEPHONE_NUMBER_ERROR;?>");
<?php}?>
*/

点击次数:3973  发布日期:2013-04-16  【打印此页】  【关闭