我想在 magento 注册期间将电子邮件地址设为可选。我将添加一个额外的用户名属性,用户将能够使用该属性登录(我已经完成了该部分的工作)。执行此操作的步骤是什么,甚至有可能吗?我找到了一个旧的扩展程序,可以满足我的想法,但它已经过时了。 http://www.magentocommerce.com/magento-connect/email-not-required.html
谢谢你的帮助。
我想在 magento 注册期间将电子邮件地址设为可选。我将添加一个额外的用户名属性,用户将能够使用该属性登录(我已经完成了该部分的工作)。执行此操作的步骤是什么,甚至有可能吗?我找到了一个旧的扩展程序,可以满足我的想法,但它已经过时了。 http://www.magentocommerce.com/magento-connect/email-not-required.html
谢谢你的帮助。
您可以执行与扩展程序类似的操作。
“此扩展程序将允许您添加没有有效电子邮件地址的客户。如果没有电子邮件地址,它将自动插入一个电子邮件地址 [customernumber]@[default customer domain]....”
您可以创建一个 gmail(或者如果您使用 google 应用程序作为您的公司电子邮件)或一个全部电子邮件
电子邮件格式
noemail+[timestamp]-[ipaddress to long]@gmail/yourdomain.com
然后从电子邮件字段中删除验证 js,使其在您的 .phtml 中成为必需。
然后创建一个覆盖您的结帐控制器的自定义模块(假设一页结帐)
/app/code/core/Mage/Checkout/controllers/OnepageController.php
/**
* save checkout billing address
*/
public function saveBillingAction()
{
...
if (isset($data['email']) && strlen($data['email']) > 3) {
$data['email'] = trim($data['email']);
}
else{
$data['email'] = getNoEmailGen(); // return noemail+[timestamp]-[ipaddress to long]...
}
(您也可以使用 JS 来执行此操作,您可以在其中预先生成电子邮件地址(在隐藏字段或变量中),如果电子邮件字段留空,您可以在提交账单之前附加/发布它)
您不应该这样做,因为当您订购某些东西时,交易邮件将会发生,因此您不能拥有没有邮件的用户。这应该很奇怪。