4

我想在 magento 注册期间将电子邮件地址设为可选。我将添加一个额外的用户名属性,用户将能够使用该属性登录(我已经完成了该部分的工作)。执行此操作的步骤是什么,甚至有可能吗?我找到了一个旧的扩展程序,可以满足我的想法,但它已经过时了。 http://www.magentocommerce.com/magento-connect/email-not-required.html

谢谢你的帮助。

4

2 回答 2

2

您可以执行与扩展程序类似的操作。

“此扩展程序将允许您添加没有有效电子邮件地址的客户。如果没有电子邮件地址,它将自动插入一个电子邮件地址 [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 来执行此操作,您可以在其中预先生成电子邮件地址(在隐藏字段或变量中),如果电子邮件字段留空,您可以在提交账单之前附加/发布它)

于 2013-01-06T20:40:36.700 回答
-2

您不应该这样做,因为当您订购某些东西时,交易邮件将会发生,因此您不能拥有没有邮件的用户。这应该很奇怪。

于 2013-01-06T19:12:34.070 回答