Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento 以编程方式设置自定义客户属性_Magento_Attributes_Custom Attributes - Fatal编程技术网

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();