Magento 以编程方式设置自定义客户属性
是否可以通过编程方式设置自定义客户属性的值?我在互联网上搜寻了这个问题的答案,但没有结果:( 我知道您可以使用以下方法访问一个:Magento 以编程方式设置自定义客户属性,magento,attributes,custom-attributes,Magento,Attributes,Custom Attributes,是否可以通过编程方式设置自定义客户属性的值?我在互联网上搜寻了这个问题的答案,但没有结果:( 我知道您可以使用以下方法访问一个: $customer = Mage::getSingleton('customer/session')->getCustomer(); $measurements_taken = $customer->getResource()->getAttribute('measurements_taken')->getFrontend()->getV
$customer = Mage::getSingleton('customer/session')->getCustomer();
$measurements_taken = $customer->getResource()->getAttribute('measurements_taken')->getFrontend()->getValue($customer);
但我不太确定如何设置此属性的值。我尝试了以下方法:
$customer = Mage::getSingleton('customer/session')->getCustomer();
$customer->setMeasurementsTaken('TO_CHECK');
$customer->saveAttribute($customer,'measurements_taken');
但它会抛出一个错误,指出某个无效方法。在进行更新之后
$customer->save();
或
完全错误请…………这对他的错误没有帮助“一个错误说明了一个无效的方法”…@Bixi它怎么会没有帮助?
Mage\u Customer\u Model\u Session::getCustomer()
返回一个Mage\u Customer\u Model\u Customer
的实例,该实例没有saveAttribute()
方法,但有一个save()
方法。我尝试了这个方法,但没有抛出任何错误!但是,它没有更改后端中属性的值:(@natethegreat您可能需要根据您的本地配置设置一些与作用域相关的其他信息。您可以在Mage\u Customer\u Model\u Resource\u Customer::\u beforeSave()
中进行调试。我意识到这是一个下拉选择属性!将其更改为文本字段属性非常有效:).但是,为了了解情况,您知道如何更改下拉选择属性吗?
$customer->setMeasurementsTaken('TO_CHECK')->save();