保存客户以前的数据

时间:2010-08-16 17:12:09

标签: php magento

我为客户制作了一个带计算器的页面,他们可以在不登录的情况下使用它,在该页面中有一个保存按钮,我要做的是:如果客户点击保存,它是未登录,将重定向到注册表单,如果用户成功注册,我需要将他在计算器中写入的数据保存到他的帐户并再次重定向到计算器。我向客户添加了新属性

$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$setup->addAttribute('customer', 'weight', array(
    'label'=> 'Weight',
    'type'=> 'decimal',
    'input'=> 'text',
    'visible'=> true,
    'required'=> false,
));
$setup->addAttribute('customer', 'Height', array(
    'label'=> 'Height',
    'type'=> 'decimal',
    'input'=> 'text',
    'visible'=> true,
    'required'=> false,
    'position'=> 1,
));

如果我运行此代码,它可以工作,因为我可以看到数据库中的值

$session = Mage::getSingleton('customer/session');
$customer = $session->getCustomer();
$customer->setWeight(80);
$customer->save();

但我的问题是如何收集计算器的所有数据

1 个答案:

答案 0 :(得分:1)

经过几个小时的编码,我会回答我自己的问题,如果有人能纠正我,我会感激... 所以,我做了什么:

$session = Mage::getSingleton('customer/session');
if (!$session->isLoggedIn()) {
    $session->setHeight($this->getRequest()->getPost('height'));
}

现在,在createPostAction中我添加了这个

if(isset($session->getHeight)){
    $customer->setHeight($session->getHeight);
}
$session->setHeight('');

它运作正常...感谢所有阅读我的问题的人