Magento为用户设置了名字和名字

当有人订阅Magento时事通讯时,我也希望他们填写他们的名字和姓氏.我已将两个输入字段添加到表单中.字段名称是’firstname’和’lastname’.

我要扩展Mage / Newsletter / controllers / SubscriberController.php

在newAction()中:

我在这里检索了post变量:

$email = (string) $this->getRequest()->getPost('email');
$firstname = (string) $this->getRequest()->getPost('firstname');
$lastname = (string) $this->getRequest()->getPost('lastname');

我在成功消息后添加了以下代码:

$subscriber = Mage::getModel('newsletter/subscriber')->loadByEmail($email);             
            $subscriber->setEmail("example@email.com");             
            $subscriber->setFirstname("ADAM");              
            $subscriber->setLastname("MOSS");
            $subscriber->save();

我只是希望得到名字和姓氏方法 – setEmail部分完美运行.我查看了Model / Subscriber.php,发现没有设置用户名的功能.

查看管理员中的网格我还注意到它显示“客户名字”和“客户姓氏”,因此我假设名称属于客户模型而不是订户模型.

有没有解决的办法?我希望能够在订阅新闻通讯时将客户名称分配给订阅者.我尝试了这篇文章中提到的观察者方法,但我认为存在同样的问题:Adding a custom field to Magento’s subscription module

任何帮助将非常感激.

最佳答案 看一下数据库中的newsletter_subscriber表.没有名字或姓氏.您只能在简报模型上设置这些字段.

订户模型中的subscribe()方法将订户与客户ID相关联,因此网格确实显示了客户名字和姓氏.

如果您还希望将这些字段用于与cutomer无关的订阅者,则应通过添加这两个字段来修改newsletter_subscriber数据库表.

点赞