【发布时间】:2016-12-09 12:32:23
【问题描述】:
我们在 magento 中创建了一个带有自定义扩展的自定义客户属性。在这个扩展中,我们还使用 customer_save_after 创建了一个观察者,并以编程方式更新客户属性。
$customerId = $this->_customersession->getCustomerId();
$customer = $this->customerFactory->create();
$websiteId = $this->storeManager->getWebsite()->getWebsiteId();
$customer->setWebsiteId($websiteId);
$customer->load($customerId);
$customer->setCustomAttribute('Test');
$customer->save();
以上代码在本地和开发服务器上运行良好,但站点移至生产服务器,以上代码停止工作。为了让它再次工作,我们需要以下列方式更新保存过程。
$customerData = $customer->getDataModel();
$customerData->setCustomAttribute('my_attr_code', $val);
$customer->updateData($customerData);
$customer->save();
任何人都可以指导我可能会破坏实时执行但在开发服务器上一切正常的问题。 我们还尝试在本地系统上复制开发数据库,它也可以正常工作。问题是代码相同,数据库没有任何问题,更改保存过程后,执行完美无误。可能是什么问题?
【问题讨论】:
标签: magento2