gpt4 book ai didi

php - 如何在 Magento 中以编程方式更新属性选项?

转载 作者:行者123 更新时间:2023-12-04 05:48:17 25 4
gpt4 key购买 nike

我想通过代码(以编程方式)更新/添加 Magento 中下拉属性的选项。我已经找到了如何添加属性选项,但如何更新选项值。

示例:
假设属性是“制造商”。我添加了三个选项 man1、man2、man3。现在通过我的自定义代码,我想将 man1 的标签更改为 man11,将 man2 的标签更改为 man22。我怎样才能做到这一点?
谢谢。

最佳答案

好吧,我自己找到了解决方案。 See complete details here .

//Get the eav attribute model
$attr_model = Mage::getModel('catalog/resource_eav_attribute');

//Load the particular attribute by id
//Here 73 is the id of 'manufacturer' attribute
$attr_model->load(73);

//Create an array to store the attribute data
$data = array();

//Create options array
$values = array(
//15 is the option_id of the option in 'eav_attribute_option_value' table
15 => array(
0 => 'Apple' //0 is current store id, Apple is the new label for the option
),
16 => array(
0 => 'HTC'
),
17 => array(
0 => 'Microsoft'
),
);

//Add the option values to the data
$data['option']['value'] = $values;

//Add data to our attribute model
$attr_model->addData($data);

//Save the updated model
try {
$attr_model->save();
$session = Mage::getSingleton('adminhtml/session');
$session->addSuccess(
Mage::helper('catalog')->__('The product attribute has been saved.'));

/**
* Clear translation cache because attribute labels are stored in translation
*/
Mage::app()->cleanCache(array(Mage_Core_Model_Translate::CACHE_TAG));
$session->setAttributeData(false);
return;
} catch (Exception $e) {
$session->addError($e->getMessage());
$session->setAttributeData($data);
return;
}

关于php - 如何在 Magento 中以编程方式更新属性选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407896/

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