我想在magento注册期间选择电子邮件地址。我将添加一个用户可以登录的额外用户名属性(我已经有了这部分工作)。有什么步骤可以做到这一点,或者甚至是可能的?我找到了一个旧的扩展,它做了我想要的,但它已经过时了。 http://www.magentocommerce.com/magento-connect/email-not-required.html
感谢您的帮助。
答案 0 :(得分:2)
您可以执行与扩展程序类似的操作。
“此扩展程序允许您添加没有有效电子邮件地址的客户。如果没有电子邮件地址,它将自动插入电子邮件地址[customernumber] @ [默认客户域名] ....”
您可以创建一个Gmail(或者如果您使用谷歌应用程序为您的公司电子邮件)或捕获所有电子邮件
电子邮件格式
noemail + [timestamp] - [ipaddress to long] @gmail / yourdomain.com
然后从.phtml中的电子邮件字段中删除验证js。
然后创建一个覆盖结帐控制器的自定义模块(假设一页结帐)
/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,在那里预先生成电子邮件地址(隐藏字段或变量),如果电子邮件字段留空,则在提交结算表单之前附加/发布)
答案 1 :(得分:-2)
您不应该这样做,因为当您订购某些东西时,将发生交易邮件,因此您无法拥有没有邮件的用户。这应该是奇怪的。