1

我正在将数据从旧网站转换为新网站。我正在扩展的类中创建和填充客户Mage_Shell_Abstract

如果客户已经存在,我想加载他们,如果他们不存在,我想创建他们:

$customer = Mage::getModel('customer/customer')->loadByEmail('none@gmail.com');
$customer->setFirstName('John');
$customer->setLastName('Smith');
$customer->save();

如果此电子邮件不存在任何客户,此代码会导致任何错误吗?

4

1 回答 1

4

不确定“不存在的magento模型”到底是什么意思,但如果你指的是customer/customer模型,它应该可以工作。

如果您在该run()方法内,则Mage::app()已经在 的__construct()方法内运行Mage_Shell_Abstract,因此您将可以从该上下文中访问所有模型和其他 magento 功能。

所以getCustomerByEmail()将像正常一样工作,以及该模型或任何其他模型上的所有其他方法。

你应该能够做到:

$customer = Mage::getModel('customer/customer')->loadByEmail('none@gmail.com');
if (!$customer->getId()) {
    // Create customer
}
于 2012-08-29T00:33:04.277 回答