gpt4 book ai didi

php - 以编程方式更新 magento 客户

转载 作者:行者123 更新时间:2023-12-02 21:25:30 29 4
gpt4 key购买 nike

我正在尝试以编程方式修改 magento 上的现有客户数据,但出现错误,希望有人可以帮助我。

require_once('../app/Mage.php');
ini_set("error_reporting",E_ALL);
ini_set("display_errors",true);
umask (0);
Mage::app('admin');

$email = $_REQUEST['email'];
$firstname = $_REQUEST['firstname'];
$lastname = $_REQUEST['lastname'];
$newEmail = $_REQUEST['newEmail'];
$method = $_REQUEST['method'];
$user_id = $_REQUEST['user_id'];


$customer = Mage::getModel('customer/customer');
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer->loadByEmail($email);
$customer->setFirstname = $firstname;
$customer->setLastname = $lastname;
$customer->setEmail = $newEmail;
$customer->save();

这是错误消息

Fatal error: Uncaught exception 'Mage_Customer_Exception' with message 'Customer email is required' in /home/insateck/www/zzWEBS/MAGENTO/ZZpruebasEXPRIMENET/app/Mage.php:580 Stack trace: #0 /home/insateck/www/zzWEBS/MAGENTO/ZZpruebasEXPRIMENET/app/code/core/Mage/Customer/Model/Resource/Customer.php(76): Mage::exception('Mage_Customer', 'Customer email ...') 
#1 /home/insateck/www/zzWEBS/MAGENTO/ZZpruebasEXPRIMENET/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1122): Mage_Customer_Model_Resource_Customer->_beforeSave(Object(Mage_Customer_Model_Customer))
#2 /home/insateck/www/zzWEBS/MAGENTO/ZZpruebasEXPRIMENET/app/code/core/Mage/Core/Model/Abstract.php(318): Mage_Eav_Model_Entity_Abstract->save(Object(Mage_Customer_Model_Customer))
#3 /home/insateck/www/zzWEBS/MAGENTO/ZZpruebasEXPRIMENET/syncadaptax/update_client_methods.php(33): Mage_Core_Model_Abstract->save()
#4 {main} thrown in /home/insateck/www/zzWEBS/MAGENTO/ZZpruebasEXPRIMENET/app/Mage.php on line 580

最佳答案

您可以将新邮件的保存条件修改为:

$customer = Mage::getModel('customer/customer');
$customer->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer->loadByEmail($email);
if($customer->getId()>1){
$customer2 = Mage::getModel('customer/customer');
$customer2->setWebsiteId(Mage::app()->getWebsite()->getId());
$customer2->loadByEmail($newEmail);
if($customer2->getId()<1){
$customer->setEmail($newEmail);
}
$customer->setFirstname($firstname);
$customer->setLastname ($lastname);
$customer->save();
}

更新的条件将避免 fatal error 。

关于php - 以编程方式更新 magento 客户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24707113/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com